Ember.js绑定没有视图

mli*_*nau 2 ember.js

对不起如果已经有人询问过类似的内容,但我找不到我想要的内容.我想在问题的前言中说,我觉得我对内容绑定有一个很好的理解.我打算使用第三方jquery carousel插件,它需要div中的img标签列表才能正常工作.关于实际问题,假设我在App控制器中有一组图像的URL.假设内容将包含实际图像的有效URL列表.

App = Ember.Application.create({});

App.Controller = Em.Object.create({
    content: [{url: 'http://www.google.com'}, {url: 'http://www.yahoo.com'}]
});

App.ImgView = Em.View.extend({
    tagName: 'img'
});
Run Code Online (Sandbox Code Playgroud)

如何将每个图像的src绑定到当前URL而不在#each中嵌套另一个{{view}}?我已经尝试了很多组合,但是我无法将手指放在正确的绑定上.

<div id="foo">
    {{#each App.Controller.content}}
        {{view App.ImgView bindAttr src="this.url"}}
    {{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)

上面的把手脚本会出错,但我觉得这是最好的,为什么我可以沟通我想要做的事情.

在此先感谢您的帮助.

编辑:经过一些研究后,我在这里遇到了这个问题.显然srcBinding到一个字符串是ember-0.9.4中的一个错误,并已在ember-0.9.5中修复.我最终回到了......

App.ImgView = Em.View.extend({
    tagName: 'div'
});

<div id="foo">
    {{#each App.Controller.content}}
        {{#view App.ImgView contentBinding="this"}}
            <img {{bindAttr src="content.url"}} />
        {{/view}}
    {{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)

所以我可以在我的视图上有一个点击处理程序.我还修改了插件,以便在#foo内部的div内部定位图像.

谢谢你的所有答案.

ebr*_*ryn 5

看起来你想要:

<div id="foo">
    {{#each App.Controller.content}}
        <img {{bindAttr src="url"}}>
    {{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)

那对你有用吗?