Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Aurelia中强制执行脏检查_Javascript_Aurelia - Fatal编程技术网

Javascript 在Aurelia中强制执行脏检查

Javascript 在Aurelia中强制执行脏检查,javascript,aurelia,Javascript,Aurelia,我有一个通过ValueConverter绑定到DOM的对象数组。Aurelia无法完全理解我在ValueConverter中执行的操作,因此无法正确更新。我想强制对这个对象进行脏检查。如何才能做到这一点?通过属性获取程序公开您的数组 而不是: 导出类Foo{ myArray=[];//将在不进行脏检查的情况下进行观察 } 使用属性获取程序: 导出类Foo{ _myArray=[];//将根据需要操作的内部值 get myArray(){//此属性将被脏检查。 返回此。\u myArray; }

我有一个通过
ValueConverter
绑定到DOM的对象数组。Aurelia无法完全理解我在
ValueConverter
中执行的操作,因此无法正确更新。我想强制对这个对象进行脏检查。如何才能做到这一点?

通过属性获取程序公开您的数组

而不是:

导出类Foo{
myArray=[];//将在不进行脏检查的情况下进行观察
}
使用属性获取程序:

导出类Foo{
_myArray=[];//将根据需要操作的内部值
get myArray(){//此属性将被脏检查。
返回此。\u myArray;
}
}

有点冗长,我们是否可以在视图中包含一些东西,将特定绑定标记为脏的可检查的ala绑定行为?我认为这是可能的-一个不完整但工作正常的原型。问题是绑定系统的观察器绑定到对象实例/属性组合,而不是特定的绑定实例。多个绑定实例共享观察者。例如,
${foo.bar.baz}${foo.bar.beep}
最终使用了总共4个属性观察者,即使每个表达式中有3个要观察的道具。我们必须对绑定行为做更多的工作,以使脏检查绑定实例具体化。我觉得这不是解决我遇到的实际问题的最佳方法,可能不值得我们花时间来尝试。我认为更好的解决方案应该是解决价值转换器的未决问题。因为我们不知道值转换器将要使用什么信息,所以我们需要一种干净的方法来为开发人员提供更多关于绑定何时重新计算的能力。谢谢@JeremyDany你能详细说明为什么aurelia在使用getter时使用脏检查而不是属性吗?