如何从Marionette控制器中重定向到另一条路线
How can I redirect from within a Marionette Controller to another route?
如何从Marionette控制器内重定向到另一个路由?例如:
var controller = new MyAccountController({
myAccountView: new MyAccountView({
el: 'body'
})
});
var router = new MyAccountRouter({
controller: controller
});
在控制器方法中,据我所知,我无法访问路由器,我认为您需要从路由器访问navigate()方法才能进行导航。基本上,如果控制器方法中的某些条件不满足,我想做的是在某个地方进行客户端重定向。
我认为首选的方法是触发另一个对象可以侦听的事件。这是一个我会做的事情的小例子(未经测试)。
window.App = new Marionette.Application();
App.on('start', function() {
Backbone.history.start();
});
App.start();
var Router = Marionette.AppRouter.extend({
appRoutes: {
'': 'home'
}
});
var Controller = Marionette.Controller.extend({
home: function() {
App.trigger('someEvent');
}
});
var AnotherController = Marionette.Controller.extend({
doSomeOtherThing: function() {
alert('Hello world');
});
App.on('someEvent', function() {
doSomeOtherThing();
});
});
var controller = new Controller;
var anotherController = new AnotherController;
controller.router = new Router({
controller: controller
});
controller.start();
anotherController.start();
您可以将Backbone历史对象用于此目的:
Backbone.history.navigate('/some/route', {
trigger: true
});
上述操作会将URL更新为/some/route
,并强制路由器触发路由处理程序。
相关文章:
- 如何在一页网站中使用PHP重定向到一个页面
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 将jsp重定向到servlet,然后重定向到下一页
- 如何在重定向到asp.net中单击按钮的下一页之前应用javascript警报
- 警报中的window.location必须重定向到上一页
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- 使用jquery进度条重定向到表单提交后的另一个页面
- JQuery/Javascript-当倒计时为零时重定向到上一页
- 如何从Marionette控制器中重定向到另一条路线
- 随机一段时间后重定向网站
- 异步mongodb更新循环中最后一次迭代后的重定向
- 捕获Magento一页签出重定向
- 一次选中4个复选框,然后将页面重定向到新页面
- 重定向到同一页面,但其中包含一条消息
- 重定向到同一页面,但其中包含一条消息
- 重定向至“colorbox”中的另一页
- Javascript重定向然后显示一条消息
- 我如何使用 php 或 JavaScript 使一个人被重定向到我的移动网站(如果他们在移动设备上)
- 如何用彩色瓷砖铺一条路
- Mule ESB中的Uber连接器我收到了一条类似于“;基本Uri与重定向Uri "不匹配