父组件将数组传递给子组件。我需要循环遍历组件的JS文件中的数组,而不是它的模板。
我知道我可以使用this.get(“参数”)访问参数,但在JS中,它的行为并不像数组。
任何帮助都将不胜感激!
发布于 2016-02-19 04:56:34
这确实如你所期望的那样工作!看看这个余烬-旋转。
如果在组件外部有一个Array,那么您将在组件中得到一个数组!
所以你的问题完全是在另一个地方。
成员本身总是会给你一个Ember.Enumerable。您可以在它们上使用.forEach(x => { ...doStuff.. })。
数据给你一个存储操作和关系的PromiseArray。
如果您处于依赖于PromiseArray的ComputedProperty ( CP )中,则可以在PromiseArray上安全地使用PromiseArray,因为CP将在承诺解除时再次触发。在CP之外,例如,在一个钩子或一个动作中,您应该用.then(arr => arr.forEach(item => doSomething(item)))解决承诺!
所以这是安全的:
all: Ember.computed('myArr', {
get() {
let str = '';
this.get('myArr').forEach(item => str+=item.get('name'));
return str;
}
})这是安全的:
actions: {
alertIt() {
this.get('myArr').then(arr => {
let str = '';
arr.forEach(item => str+=item.get('name'));
alert(str);
});
}
}但这是错误的
actions: {
alertIt() {
let str = '';
this.get('myArr').forEach(item => str+=item.get('name'));
alert(str);
}
}https://stackoverflow.com/questions/35495918
复制相似问题