AngularJS 两种方式将变量绑定到数组项

AngularJS two way binding variables to array items

要查看我的代码,请遵循此 link

我创建了一个处理项目数组的指令(它总是两个,因为它是 "from" 和 "to" 日期对)。

我想让数组项作为单独的值访问以供以后使用,所以我这样引用数组项

  vm.data = ['data a', 'data b'];
  vm.separateData = vm.data[0];
  vm.otherData = vm.data[1];

当我在指令中实现双向绑定时,vm.data[0]vm.data[1] 引用会更新,但 vm.separateDatavm.otherData 不会。

有没有办法让这项工作正常进行,或者我应该只重组我的应用程序的其余部分(在需要的地方)以适应数组项?

在我的 fiddle link 中(同上)尝试更改文本输入值,您就会明白我的意思。

vm.data[0] 是一个字符串,因此它是 javascript 中的原始数据类型,它是不可变的。因此,您将不可变字符串 'Data a' 绑定到 vm.separateData,这不是对数据 [0].

的引用

如果您想将对数组的引用复制到 vm.separateData 中,请尝试将您的字符串包装在其他 javascript 对象中,例如

vm.data = [{"value":"Data a"}, {"value":"Data b"}]

然后你可以参考

vm.separateData = vm.data[0];

并通过

访问该值
vm.separateData.value