jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Backbone.js路由而不更改url大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将基于BACkbone.js和jQuery的单页Web应用程序迁移到Chrome扩展.但是,pushState和基于hashbang的路由器模式都不符合扩展中的环境.我得出结论,我最好只是直接渲染用户交互的观点,绕过window.LOCATIOn系统.但是,我不太清楚如何实现这一点,而不用在几十个文件调用Router.navigate.

是否有可插拔/模块化的方式来保持骨干路由系统,但绕过任何url的更改?

解决方法

我真的想坚持使用Router.navigate从BACkbone.js提供的路由系统中受益,而无需处理在Chrome扩展中使用的hashbang错误(例如,包括斜线被覆盖的路由),您可以使路由器.导航直接加载url,跳过整个pushState体操.

这实际上很容易完成:

Router = BACkbone.Router.extend({

  navigate: function (url) {

    // Override pushstate and load url directly
    BACkbone.history.loadUrl(url);

  },// Put routes here
  routes: { }

});

然后,您可以调用Router.navigate(url)加载新路由而不改变历史,甚至将操作绑定到包含数据骨干属性的每个链路(例如< a href =“login”data-BACkbone> Login& a>)与这样的事件:

$(function(){

  // Initialize router
  Router = new Router;
  BACkbone.history.start();

  // Bind a[data-BACkbone] to router
  $(document).on('click','a[data-BACkbone]',function(E){
    e.preventDefault();

    Router.navigate( $(this).attr('href') );
  });

});

大佬总结

以上是大佬教程为你收集整理的jquery – Backbone.js路由而不更改url全部内容,希望文章能够帮你解决jquery – Backbone.js路由而不更改url所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。