这是demo,当我单击复选框"chooseAll“时,控制台中会出现一个警告,上面写着
Two-way binding does not work with expressions (`items.length===hasChooedItems().length` on <input>,我将ractive的版本从"latest“改为"0.6.1",当我点击"chooseAll”时,控制台中有一个错误,显示为Cannot read property 'split' of undefined。为什么?
发布于 2015-04-10 20:19:54
在最新版本中得到的警告实质上是保护您免受0.6.1版本中的错误的影响。
双向绑定只适用于简单的引用(如<input type='checkbox' value='{{foo}}'>),因为Ractive知道如何在您与该复选框交互时通过切换foo的值来更新其模型--更复杂的表达式不能使用双向绑定(如果为value='{{a || b}}',则无法确定应该切换的是a还是b )。因此,在这些情况下,我们必须侦听change事件并自行处理它们(因此使用on-change='toggleAll')。
旧版本的Ractive将无法识别问题并尝试更新绑定,从而导致内部错误。现在,你会得到预先的警告。
您可以忽略它-它是无害的-或者通过在输入上指定twoway='false'来消除警告。这相当于说‘没关系,Ractive,我来吧’。这是一个在第17行进行了更改的fork of your fiddle。
https://stackoverflow.com/questions/29555688
复制相似问题