我什么时候应该在Emberjs动态添加的HTML代码上调用Twitter Bootstrap方法



我正在使用EmberjsHandlebarsTwitter Bootstrap。在我的handlebars模板中,我使用的是推特Boostrap dropdown

<ul class="nav nav-pills">
    <li class="dropdown">
        {{#each content}}
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
                <i class="icon-plus-sign">
            </a>
            <ul class="dropdown-menu" role="menu">
                <li>
                    <a href="#" {{action my_action my_argument}}> My Action </a>
                </li>
            </ul>
        {{/each}}
    </li>
</ul>

由于此 HTML 代码在加载页面时不会立即可用,而是在以后动态加载,因此在使用 AJAX 请求加载数据并填充content变量后,dropdown无法正常工作:单击action链接时它不会关闭。

我知道要使这项工作,我需要在 DOM 中dropdown元素之后做这样的事情:

$('.dropdown-toggle').dropdown();

Emberjs 中,在将数据添加到 DOM 之后,是否有回调或我可以这样做的地方?

这种

调用应该在视图和didInsertElement函数中使用。参见:http://emberjs.com/api/classes/Ember.View.html#event_didInsertElement

我知道还有其他一些关于这个问题的SO问题/答案...但我懒得找你:p

最新更新