Ractive 'Consider initialising your data to eliminate the ambiguity' 问题
Ractive 'Consider initialising your data to eliminate the ambiguity' issue
我有一个对象通过这样的绑定传递到我的 Ractive 组件:
<Component obj={{someObject}} />
并且在 Component
中我定义了以下 oninit 方法:
oninit: function () {
this.set('someObjectClone', JSON.parse(JSON.stringify(this.get('someObject'))));
}
然而,在我的模板中使用 someObjectClone
进行双向绑定 <input>
元素会导致警告:
Ractive.js: The 'someObjectClone.someValue' reference being used for two-way binding is ambiguous, and may cause unexpected results. Consider initialising your data to eliminate the ambiguity
如果我只是尝试在不使用双向绑定的情况下打印值,它什么也不会打印。好像根本没有设置该值。但是,如果我在 oninit
中执行 console.log(this.get())
,我可以看到它已被设置。 DOM 没有更新吗?
有人可以告诉我这个吗?
我正在使用 Ractive 0.8.0-edge
并且我设置了 JSFiddle here
此致,
在您的示例中,event
在组件参数中设置为 some
:
<Component event="{{some}}"/>
然后将该对象复制到 clone
路径:
this.set('clone', JSON.parse(JSON.stringify(this.get('event'))) );
因此在您的模板中,使用 {{clone.value}}
。
关于不明确的 ref 警告,在您的数据中设置一个默认值,以便 Ractive 知道该值将在组件的根目录中找到(参见 http://jsfiddle.net/kjj6s709/6/):
data: {
clone: null
},
我有一个对象通过这样的绑定传递到我的 Ractive 组件:
<Component obj={{someObject}} />
并且在 Component
中我定义了以下 oninit 方法:
oninit: function () {
this.set('someObjectClone', JSON.parse(JSON.stringify(this.get('someObject'))));
}
然而,在我的模板中使用 someObjectClone
进行双向绑定 <input>
元素会导致警告:
Ractive.js: The 'someObjectClone.someValue' reference being used for two-way binding is ambiguous, and may cause unexpected results. Consider initialising your data to eliminate the ambiguity
如果我只是尝试在不使用双向绑定的情况下打印值,它什么也不会打印。好像根本没有设置该值。但是,如果我在 oninit
中执行 console.log(this.get())
,我可以看到它已被设置。 DOM 没有更新吗?
有人可以告诉我这个吗?
我正在使用 Ractive 0.8.0-edge
并且我设置了 JSFiddle here
此致,
在您的示例中,event
在组件参数中设置为 some
:
<Component event="{{some}}"/>
然后将该对象复制到 clone
路径:
this.set('clone', JSON.parse(JSON.stringify(this.get('event'))) );
因此在您的模板中,使用 {{clone.value}}
。
关于不明确的 ref 警告,在您的数据中设置一个默认值,以便 Ractive 知道该值将在组件的根目录中找到(参见 http://jsfiddle.net/kjj6s709/6/):
data: {
clone: null
},