主干JS如何渲染特定页面
Backbone JS how to render a specific page
我刚刚开始使用Backbone JS,因为我们正在开始一个非常密集的JS应用程序,我想遵循一个惯例,以防止项目在以后的几个月和几年里看起来很可怕。
这可能是一个简单的问题,但我想不出来。
我有正常的RESTful操作/视图等,并添加了另一个调用信息只是玩。这将在单击相应链接时正确地呈现索引页。
:javascript
$(document).ready(function() {
$("#client-clicker").click( function() {
window.router = new Pm.Routers.ClientsRouter({clients: #{@clients.to_json.html_safe}});
Backbone.history.start();
});
});
现在是问题:
如何知道去到ClientsRouter的索引动作?
如何指定编辑、显示或信息操作?
提前感谢!
我从未使用过"约定"对于js来说,但是主干js才有意义!
更新我确实发现,如果我在客户端路由器中删除这一行,默认索引中断。
routes:
"/new" : "newClient"
"/index" : "index"
"/:id/edit" : "edit"
"/:id" : "show"
".*" : "index" <----- #deleted and it broke
"/info" : "info"
我仍然不确定如何击中一个特定的视图
当你调用Backbone.history.start
时,Backbone开始监视位置的变化,要么使用pushstate或hashchange事件,要么在旧的浏览器中轮询位置。它还通过比较window.location.pathname与路由表,立即触发当前位置的路由。
在你的例子中,它匹配"。*"路线。我不确定发生这种情况时的位置,但这个路由将匹配任何位置,所以这就是它触发索引操作的原因。
你可以通过调用路由器上的navigate
方法来改变位置并选择性地触发一个动作。例如
window.router.navigate('/new', true);
应该改变位置并且(因为你在第二个参数中传递的是true)触发newClient
动作
相关文章:
- backbone.js无法渲染视图
- renderReact/Rect Router+Node/Express.js的服务器端/同构渲染中未定义renderP
- 如何在渲染视图时将变量传递给Node.js中的脚本标记
- 渲染”;a“;React.js中的可选href
- 当浏览器位置更改时重新渲染React.js
- 如何使用React JS中的循环,根据条件渲染或不渲染表数据
- React.js如何使用虚拟DOM加速渲染
- three.js EffectComposer's渲染目标
- 在react js中渲染多个容器
- Three.js,WebGL,渲染六幅图像的全景图
- 使用自定义 ajax 请求渲染 js 部分(而不是远程:true)
- 为什么 rails 不渲染 .js.erb 文件
- 尝试在 RAILS 中渲染 JS 会导致问题
- Rails - fullCalendar 不渲染 JS 代码
- R github渲染js文件以查看googleVis html
- 使用splash通过php渲染js模板
- 渲染js时没有点击事件.erb部分
- 如何渲染JS和迭代数组与Rails控制器
- 如何从渲染的 HTML 模板渲染 JS 模板
- Rails 4渲染js:重定向到另一个页面并显示原始js