我开始使用Emberjs :) 我正在尝试使用fadein jquery效果显示模型中的图片
$('.ember-view img').load( ->
$(this).fadeIn(10000).show()
).each( ->
$(this).load() if(this.complete)
)
我尝试了不同的方法来找到解雇此事件的好地方,但我无法找到创建方法来解雇此事件的好地方
我有这条路线
MyApp.SquaresRoute = Ember.Route.extend(
setupController: (controller) ->
controller.set('model', @store.find('sqimage'))
我还有2个控制器(数组和对象)
MyApp.SquaresController = Ember.ArrayController.extend
MyApp.SquareController = Ember.ObjectController.extend
以及我渲染对象的模板
{{#each controller}}
<img {{bind-attr src="url_thumbnail"}} {{bind-attr style="style"}} />
{{/each}}
我试图在视图文件中放入一个didInsertElement,但它没有用。
我应该使用观察者吗?我应该把它放在哪里?
万分感谢您的回答!
答案 0 :(得分:0)
我会尝试为每个收藏项使用单独的视图。代码看起来像这样:
您的收藏品的把手模板:
{{#each item in controller}}
{{view App.ItemView context=item}}
{{/each}}
ItemView的句柄模板:
<img {{bind-attr src="url_thumbnail"}} {{bind-attr style="style"}} />
在Views didInsertElement钩子中执行jquery效果:
App.YourView = Ember.View.extend({
// these are two different styles to use the 'didInsertElement' hook. Choose the one you prefer
didInsertElement : function(){
this.$().find('img').fadeIn(10000);
},
yourEffectFunction : function(){
this.$().find('img').fadeIn(10000);
}.on("didInsertElement")
});
Plz注意:我真的不明白你的jquery代码应该做什么。所以只需用所需的代码替换View中的逻辑。