0

要查看我的代码,请点击此链接

我创建了一个指令来处理一组项目(它总是两个,因为它是一个“从”和“到”日期对)。

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

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

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

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

在我的小提琴链接(与上面相同)中尝试更改文本输入值,您会明白我的意思。

4

1 回答 1

1

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

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

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

然后你可以参考

vm.separateData = vm.data[0];

并通过访问值

vm.separateData.value
于 2016-06-29T09:07:46.437 回答