快速提问。我发现使用 ember.js 处理站点导航(不是路由 aprt,只是一个简单的导航栏)有点复杂。所以我想我会用 jQuery 编写这个 aprt,将历史推送到位置 url,并希望 Ember.js 会检测到这个变化并且路由器会采取行动。
设想 :
1) ember.js 将为 rootElement 使用 DIV,并且导航栏在正文中声明。
<body>
<div id="nav">
<ul><li><a>Item1</a></li></ul>
</div>
<div id="rootEmberApp"></div>
</body>
2)然后一个jQuery脚本将绑定到导航div的链接(item1)并将更改推送到URL,但在不停止传播的情况下阻止默认操作(我不想重新加载所有脚本)。就像是 :
$(document).ready(function(){
$("#navigation a").click(function(event){
App.router.location.setURL('/ember/listItems');
event.preventDefault();
});
3) 我希望 Ember.js 会在这个时候触发并采取行动。
我没有成功。傻吗?知道该怎么做吗?
非常感谢。
更新1:感谢您的回答。你是对的。我对我尝试或找到的有关导航栏的解决方案并不完全满意。我将再次查看 todoMVC 示例及其对 CollectionView 的使用。从初学者的角度来看,CollectionView 似乎是描述(声明)视图的好方法,同时它不容易阅读(当视图用纯 html 编写并且 js 绑定到它时更容易 ala jQuery )。再次感谢