gpt4 book ai didi

javascript - Ember 绑定(bind)到数组元素

转载 作者:行者123 更新时间:2023-11-29 22:18:27 25 4
gpt4 key购买 nike

我正在尝试在 Controller 和模型之间设置 ember 绑定(bind)。 Controller 是数组的一部分(请参阅问题 Ember.js views (unlimited number)),因此我尝试设置与模型(ArrayProxy)中具有与 Controller 本身索引相同索引的元素的绑定(bind)。

如果我将它链接到 ArrayProxy 的非索引元素,则绑定(bind)有效,但如果我尝试设置数组的元素,则绑定(bind)无效。所以,如果我像这样设置绑定(bind):

answerBinding: 'App.SurveyData.test'

并且在 App.SurveyData 中将“test”设置为字符串,比如“StackOverlow”,双向绑定(bind)设置正确。如果我像这样设置一个绑定(bind)

answerBinding: 'App.SurveyData.content'

其中 content 是一个数组,我可以在控制台中看到“answer”的值为“Array[2]”,并且每个元素都按预期等于“Test object”

当我尝试将 answerBinding 设置为

answerBinding: 'App.SurveyData.content[0]'

它试图根据需要将答案链接到 SurveyData 中的第一个元素,我可以在控制台中查看“answer”的值为未定义。

代码位于 http://jsfiddle.net/reubenposthuma/dyLGG/1/

任何想法将不胜感激

最佳答案

Ember 的绑定(bind)仅适用于属性。 Array 的特定索引不能被绑定(bind),除非你通过计算属性这样做,比如:

answerBinding: 'App.SurveyData.firstItem'

...并在 App.SurveyData 中定义了计算属性:

firstItem: function() { return this.objectAt(0); }.property('content')

这样想:数组索引是 [] 函数的一个参数(不是字面意思,而是为了解释。)绑定(bind)不能不包括参数;它们纯粹是要绑定(bind)的属性的静态路径。

关于javascript - Ember 绑定(bind)到数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790227/

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