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
},