快速的問題。 我發現處理網站導航(不是路由aprt,只是一個簡單的導航欄)與ember.js有點複雜。 所以我想我只會用jQuery編寫這個aprt,將歷史記錄推入位置url,並希望Ember.js能夠檢測到這個變化並且路由器採取行動。處理jQuery位置更改的Ember.js
場景:
1)ember.js將使用一個DIV爲rootElement的和導航欄在體內聲明。
<body>
<div id="nav">
<ul><li><a>Item1</a></li></ul>
</div>
<div id="rootEmberApp"></div>
</body>
2)然後jQuery腳本將被綁定到導航div的鏈接(物品1),推動更改URL,但防止默認動作沒有停止propgation(我不想重裝所有的腳本)。類似於:
$(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綁定到jQuery時更容易) )。 再次感謝