Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 事件转换如何在长颈鹿路由器中工作?_Backbone.js_Giraffe.js - Fatal编程技术网

Backbone.js 事件转换如何在长颈鹿路由器中工作?

Backbone.js 事件转换如何在长颈鹿路由器中工作?,backbone.js,giraffe.js,Backbone.js,Giraffe.js,我刚刚发现了解决问题的方法。可以按如下方式触发应用程序事件: routes: { 'childView/:name': 'route:childView' // 'someHashLocation/:andItsParams': 'some:appEvent' }, 路线:{ 'childView/:name':'route:childView' //'someHashLocation/:andItsParams':'some:appEvent' }, 由于通常路由事件是由回

我刚刚发现了解决问题的方法。可以按如下方式触发应用程序事件:

routes: { 'childView/:name': 'route:childView' // 'someHashLocation/:andItsParams': 'some:appEvent' }, 路线:{ 'childView/:name':'route:childView' //'someHashLocation/:andItsParams':'some:appEvent' }, 由于通常路由事件是由回调函数处理的,我想知道如何从非Giraffe主干应用程序触发这些路由事件?您看到这种将路由器与应用程序模块分离的方法有什么问题吗

由于通常路由事件由回调函数处理,因此 想知道从一个服务器触发这些路由事件需要什么 非长颈鹿主干应用

任何与路由器相关的内容都可能导致路由事件,例如:

var app = new Giraffe.App({routes: {'post/:id': 'route:post'}});

// Trigger a route with an app reference
app.router.cause('route:post', 42); // => location changes to #post/42
                                    // => 'route:post' triggered on `app`
Giraffe.Router#cause
类似于
Backbone.Events#触发
,如果存在相应的路由,则导航到相应的路由,
路由器
触发应用程序上的事件,而不是自身

任何具有应用程序引用的内容都可以侦听路由事件:

// Handle the route from outside the Giraffe app
app.on('route:post', function(id) {...});

// Other `Backbone.Events` instances can listen to the Giraffe app
var myOtherApp = new Backbone.View;
myOtherApp.listenTo(app, 'route:post', function(id) {...});
除了发送事件外,该应用程序还充当了一个方便的事件中心。所有长颈鹿对象都引用了
this.app
(如果已经创建了一个),并且支持快捷方式
appEvents
绑定

您看到这种将路由器与应用程序模块分离的方法有什么问题吗


(我是作者之一)我们公司和我个人的经验都没有发现这是一个问题,但可以想象这种基于事件的系统无法提供所需的协调水平的情况。我们已经考虑过使用过滤器等功能来改进路由处理,但还没有找到时间。如果你有什么建议,我们很乐意听听

谢谢!与-->一起,我对链接的事件驱动架构有了一些新的见解!我很高兴能帮上忙。