我在我的Ember.js应用程序中使用Twitter Bootstrap进行导航.Bootstrap active在li包含导航链接的标记上使用类,而不是active在链接本身上设置类.
Ember.js的新linkTo助手将active在链接上设置一个类,但(据我所见)并不提供任何挂钩到该属性.
现在,我正在使用这种丑陋的方法:
{{#linkTo "inbox" tagName="li"}}
<a {{bindAttr href="view.href"}}>Inbox</a>
{{/linkTo}}
Run Code Online (Sandbox Code Playgroud)
这将输出:
<li class="active" href="/inbox"><a href="/inbox">Inbox</a></li>
Run Code Online (Sandbox Code Playgroud)
这是我想要的,但不是有效的HTML.
我还尝试active从父视图绑定到生成的LinkView 属性,但如果这样做,父视图将在插入之前呈现两次,从而触发错误.
除了手动重新创建linkTo助手内部使用的逻辑以将active类分配给链接之外,还有更好的方法来实现这种效果吗?
<li class="active">在以下Ember应用程序中获取活动页面的最简洁方法是什么?
的index.html
<script type="text/x-handlebars">
<ul class="nav">
<li>{{#linkTo 'ping'}}Ping{{/linkTo}}</li>
<li>{{#linkTo 'pong'}}Pong{{/linkTo}}</li>
</ul>
</script>
Run Code Online (Sandbox Code Playgroud)
app.js
App = Ember.Application.create()
App.Router.map(function() {
this.route("ping", { path: "/ping" });
this.route("pong", { path: "/pong" });
});
Run Code Online (Sandbox Code Playgroud) ember.js ×2