我试图将Backbone集成到PHP CMS
。
我的Backbone应用的根网址是:
http://localhost/administrator/index.php?option=com_test&controller=product.list
我已经设置了这样的路由器:
var AppRouter = Backbone.Router.extend({
routes: {
'': 'test',
}
});
var initialize = function () {
var router = new AppRouter;
router.on('test', function () {
console.log('match');
});
Backbone.history.start({
pushState: true,
root: '/administrator/index.php?option=com_test&controller=product.list'
});
router.navigate('/', {trigger: true});
};
正确调用了navigate
函数,但路由从不匹配。
我试图在root
中添加一个尾随反斜杠,但它并没有改变任何东西。
答案 0 :(得分:0)
问题是您应该将test
方法添加到Router
这样:
var AppRouter = Backbone.Router.extend({
routes: {
'': 'test',
},
test: function(){
console.log('test route');
}
});
或收听route:test
事件:
router.on('route:test', function () {
console.log('match');
});
因为Backbone.Router
在与前缀route: