在选定的路线上运行我的Backbone渲染功能?

时间:2014-04-10 10:21:27

标签: php backbone.js

我有一个PHP Slim和Backbone.JS设置,我的所有代码现在都没有任何问题。

我唯一的问题是我使用Grunt.JS将我的代码缩小为一个文件并加载到每个页面的底部。

所以我的Backbone渲染调用会在我的网站中的所有页面上触发,而不仅仅是我希望它运行的路径。

我现在尝试使用Backbones Router在我希望它运行的路径上触发渲染,我不认为这会起作用而且它没有因为我使用PHP slim作为路由代理,当然还有Backbone需要 /#/ 路径路径。

现在,当我设置了Backbone路由时,我确实试图让PHP Slim将 /#/ 路由重定向到干净的PHP Slim路由路径。当我使用以下代码时,PHP Slim完全不喜欢这个,

$app->get('/#/MYPATHHERE', function () use ($app) {

   $app->redirect('/REALLPATHTOGOTO');

});

它给了我一个PHP Slim错误,看起来PHP Slim不喜欢 /#/ 路由。

那么这样做的最佳方法是什么?

我在想我可以在PHP页面中调用render函数,我将获取PHP Slim来在我选择的路径上呈现?或者有更好的方法吗?

由于

格伦。

1 个答案:

答案 0 :(得分:1)

好的,这可以与Backbone一起工作,做了一些更多的研究,并在Backbone.history.start上将pushState设置为true,然后它可以在不需要哈希路由的情况下工作。