gpt4 book ai didi

javascript - 如何在 itemController 中获取索引属性

转载 作者:行者123 更新时间:2023-11-30 17:39:50 27 4
gpt4 key购买 nike

这个案例:

{{#each 数组 itemController="testController"}}

我想在 itemController 中使用索引属性:

App.TestController = Ember.ObjectController.extend({
// Is there any way to get index in this controller
})

或者我可以像这样用 #each 发送一个属性:

{{#each 数组 itemController="testController"property=index}}

谢谢

============================================= =======================

更新:

我确实用了一个笨方法来解决这个问题

var _temp_index = 0;
App.TestController = Ember.ObjectController.extend({
myIndex: null,
init: function(){
this._super();
this.set('myIndex', _temp_index);
_temp_index++;
}
})

期待更好的解决方案!!!

最佳答案

您可以利用每个对象上的 itemViewClass 保留对其 contentIndex 的引用这一事实。你可以在你的 Handlebars 上做这样的事情:

<ul>
{{#each item in model itemController="test" itemViewClass="App.ItemView"}}
<li>{{item.content}} {{controller.index}}</li>
{{/each}}
</ul>

然后只需创建一个设置 Controller 索引属性的 itemView:

App.ItemView = Ember.View.extend({
didInsertElement: function() {
this.get('controller').set('index',this.get('contentIndex'));
}
});

这是它工作的 fiddle 。

http://emberjs.jsbin.com/EcUCiqO/2/edit

关于javascript - 如何在 itemController 中获取索引属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21323999/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com