ractive警告“双向绑定不适用于表达式”

时间:2015-04-10 07:27:38

标签: ractivejs

这是demo,当我点击复选框" chooseAll",在控制台中有一个警告,说

Two-way binding does not work with expressions (`items.length===hasChooedItems().length` on <input>,  我改变了ractive的版本形式&#34;最新的&#34;到&#34; 0.6.1&#34;当我点击&#34; chooseAll&#34;时,控制台出错,即Cannot read property 'split' of undefined。为什么呢?

1 个答案:

答案 0 :(得分:4)

使用最新版本获得的警告基本上可以保护您免受0.6.1。

中看到的错误的影响

双向绑定仅适用于简单引用(如<input type='checkbox' value='{{foo}}'>),因为Ractive知道如何在与该复选框交互时更新其模型,方法是切换foo的值 - 更复杂的表达式不能使用双向绑定(如果value='{{a || b}}',则无法确定应该切换的是a还是b,例如)。因此,在这些情况下,我们必须自己监听change事件并自行处理(因此on-change='toggleAll')。

较早版本的Ractive无法识别问题并尝试更新绑定,从而导致内部错误。现在,你预先得到警告。

您可以忽略它 - 它无害 - 或通过在输入上指定twoway='false'来消除警告。这相当于说“没关系,Ractive,我得到了这个&#39;。这是第17行的fork of your fiddle更改。