不更改路由位置backline.js的触发器方法
Trigger method without change route location backbone.js
我对backbone.js history
有问题。
当用户单击链接时,我会停止传播,并且我希望在不更改位置的情况下调用与href匹配的方法。
$(document).on("click", "a[href^='/']", function(event){
event.preventDefault();
event.stopPropagation();
Router.goToIntraRoute($(event.target).attr("href"));
});
在主干router
:中
var Router = Backbone.Router.extend({
routes: {
"user/:id": "openProfile"
},
// Changes the location
modifyRoute: function(route){
this.navigate(route, {trigger: true, replace: false});
},
// Doesn't change the location
goToIntraRoute: function(route){
// URL modified
this.navigate(route, {trigger: false, replace: false});
}
});
我希望方法goToIntraRoute不修改我的url,但触发方法。。。有人能帮我吗?
假设您不希望新的"页面"出现在历史记录中,您可以直接调用路由处理程序。为了让你开始,这里有一个简化的例子:
goToIntraRoute: function(route){
if (this.routes[route]) {
this.routes[route]();
}
}
要实际使用该片段,您需要适当地管理上下文(this
)。此外,如果您的路由包括通配符或正则表达式,那么您将不得不从参数中显式解析它们,因为您将不依赖路由器。
相关文章:
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- 不更改路由位置backline.js的触发器方法
- 使用 Hammer.js 的程序化事件触发器
- Knex.JS自动更新触发器
- 如何从 JS 代码或存储过程在 DocumentDB 中执行预触发器
- 欧芹.js忽略“触发器”值
- Google Maps 和 Angular js:TypeError:无法读取 undefined 的属性“触发器”
- JS切换事件触发器无法正常工作
- 如何查找 Angular.js 中已经在进行中的哪一行代码触发器$digest
- 检测后退按钮触发器(使用 Ajaxify 和 History.js)
- 带有 PHP 的 Angular JS——无需物理点击的 ng-click 触发器
- 如何仅在整页中禁用鼠标滚动触发器.js
- Vue.js 在组件渲染后执行事件触发器
- typed.js jQuery 触发器在键入过程中不起作用
- 插入后触发器在从节点JS应用程序插入时不起作用
- Angular js触发器路由
- JS触发器keydown事件
- 有没有办法在控制台中自动输出所有backbone.js触发器/事件?
- Chrome扩展禁用js触发器
- 引导弹出窗口- JS触发器