对不起如果已经有人询问过类似的内容,但我找不到我想要的内容.我想在问题的前言中说,我觉得我对内容绑定有一个很好的理解.我打算使用第三方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内部定位图像.
谢谢你的所有答案.
看起来你想要:
<div id="foo">
{{#each App.Controller.content}}
<img {{bindAttr src="url"}}>
{{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)
那对你有用吗?