两个主干网定义之间的差异.路由器定义
Difference between two Backbone.Router definitions
我尝试用主干创建我的第一个JavaScript应用程序.js而且我发现了奇怪的行为,不明白2段代码之间的区别一个效果很好,第二个似乎不起作用。
在主页和"#test"网址上显示警报
var AppRouter = Backbone.Router.extend({
routes:{
"": 'index',
"test": 'test'
},
index: function(){
alert('index');
},
test: function(){
alert('test');
}
});
var app = new AppRouter();
Backbone.history.start();
这不起作用,但Backbone.history.hanlers
看起来是一样的
var router = new Backbone.Router({
routes:{
"": 'index',
"test": 'test'
},
index: function(){
alert('index');
},
test: function(){
alert('test');
}
});
Backbone.history.start();
这两段代码之间的区别在于,在第一段代码中,您正在创建一个名为AppRouter
的新类,而在第二段代码中,您只是在创建一个普通的Backbone.Router
类。
我可能是误解了,但你似乎是在说第一个例子有效,第二个例子无效?
第二个示例不起作用的原因是 Backbone.Router 只接受routes
哈希作为其构造函数的参数。 您传递的index
和test
函数不会作为对象上的函数创建。
如果要将routes
哈希传递给构造函数,则仍然需要使用实际的路由函数扩展Backbone.Router。 例如:
var AppRouter = Backbone.Router.extend({
index: function(){
alert('index');
},
test: function(){
alert('test');
}
});
var app = new AppRouter({
routes:{
"": 'index',
"test": 'test'
}});
Backbone.history.start();
相关文章:
- Javascript 类型未定义和 void 之间的区别
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 有没有一种方法可以在three.js中自定义纹理之间的转换
- 剑道 UI - 自定义数字格式在 2015.3.1111 > 2016.1.412 之间更改
- 在D3插件sankey.js和html代码之间定义源代码
- JS:未定义值和未定义类型,以及null值和null类型之间的区别
- jQuery:存储自定义事件之间的数据
- 尝试在组件之间传递数据时未定义
- 自定义元素之间的聚合物双向结合[包括示例]
- 重新分配变量和重新定义之间的性能差异
- 两个日期之间的自定义过滤器 AngularJS
- 根据 URL 在两个不同的 CSS 定义之间切换
- 未捕获的引用错误和未定义之间有什么区别
- 返回承诺与返回承诺内未定义之间的区别
- 两个主干网定义之间的差异.路由器定义
- 这两个HTTPGet定义之间的区别是什么
- 函数声明与JavaScript中的定义之间的区别是什么
- 什么'Array(2)和[未定义,未定义]之间的区别是什么
- JS:未定义和“未定义”之间的区别
- 在JavaScript中:类中函数和方法定义之间的语法差异