我在我的Ember.js應用程序中使用Twitter Bootstrap進行導航。 Bootstrap在包含導航鏈接的li
標記上使用active
類,而不是在鏈接本身上設置active
類。如何使用新的Ember路由器綁定到鏈接的活動類?
Ember.js的新linkTo
幫手將在鏈接上設置一個active
類,但是(據我所知)不提供任何掛鉤到該屬性。
現在,我使用這個醜陋的做法:
{{#linkTo "inbox" tagName="li"}}
<a {{bindAttr href="view.href"}}>Inbox</a>
{{/linkTo}}
這將輸出:
<li class="active" href="/inbox"><a href="/inbox">Inbox</a></li>
這就是我想要的,但不是有效的HTML。
我也嘗試綁定到從父視圖生成的LinkView的active
屬性,但如果你這樣做,父視圖將在插入之前呈現兩次,這會觸發錯誤。
除了手動重新創建linkTo
助手內部使用的邏輯以將active
類分配給鏈接,有沒有更好的方法來實現這種效果?
由於最近的更改,這甚至不再工作(因爲linkTo幫助程序不再將視圖上下文設置爲其視圖)。 – Bastes
對於任何遇到此問題的人,我發現這些答案更有幫助:http://stackoverflow.com/questions/11628489/emberjs-how-to-mark-active-menu-item-using-router-infrastructure – woz
找到一個更好的解決方案[這裏](http://stackoverflow.com/questions/14412073/assigning-active-class-to-selected-list-item-in-emberjs)。 – Volox