javascript - JQuery 选择器未选择 EmberJS View 中的列表项

标签 javascript jquery ember.js

我正在使用 each 帮助器在 Ember.js View 中创建无序列表。我还有一些在 didInsertElement Hook 上运行的 Javascript,它选择每个列表项。但是,如果我使用 each 帮助器生成列表,该选择器将无法选择任何元素。关于如何从选择器获取结果有什么想法吗?

相关 View :

<script type="text/x-handlebars" data-template-name="slider">
    <ul>
        {{#each slide in controller}}
            <li><img src="./resource/locations/1/test.jpg"></li>
        {{/each}}
    </ul>
    <br>
</script>

相关JS:

App.SliderView = Ember.View.extend({
    templateName: "slider",
    didInsertElement: function() {
        var self = this;
        var items = $(">ul>li", self.$());

        //...
    }
});

更新:

我相信出现问题是因为我正在加载异步填充 Controller 的模型。有没有办法监听模型首次填充时发生的事件?

我的模型代码:

App.Location = DS.Model.extend({
    thenSlider: DS.hasMany("slide", {async: true})
});

App.Slide = DS.Model.extend({
    //...
});

最佳答案

对我来说看起来不错,您可能面临一个问题,即在 didInsertElement 触发后填充数据。 didInsertElement 仅在最初插入 Slider 时触发,不一定在插入/修改其中的元素时触发。

http://emberjs.jsbin.com/liluxece/1/edit

由于它是异步的,我会使用 render 并将其连接到另一个 View ,这样您就可以针对每个项目的具体情况使用 didInsertElement

{{render 'template' context}}

这是一个例子

http://emberjs.jsbin.com/liluxece/5/edit

关于javascript - JQuery 选择器未选择 EmberJS View 中的列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23621516/

相关文章:

javascript - 在按钮悬停时淡入和淡出背景图像

javascript - 是否可以禁用输入类型电子邮件验证的默认行为

javascript - 更改 div 的类

javascript - jQuery Document Ready 函数语法

javascript - 在没有原始模型的情况下在 EmberJS 中设置新关系

Ember.js 数组属性更改不会带来所需的模板更新

javascript - 如何使用 JS 检查所有复选框?

javascript - JS : Set animation duration for change of src

javascript - Ember.Select SelectionBinding 在加载 View 时触发

javascript - Ajax - 500 内部服务器错误