Javascript 在Ember.js中手动设置单向绑定的正确语法是什么?

Javascript 在Ember.js中手动设置单向绑定的正确语法是什么?,javascript,ember.js,Javascript,Ember.js,我阅读了文档和源代码,但仍然对两者感到困惑。 有什么想法吗?Ember.Binding(to,from).oneWay().connect(obj)是您直接创建一个的方式,但是有一个别名Ember.oneWay(obj,to,from)做同样的事情。。用法示例: App.aObject = Ember.Object.create({ val: "blah blah" }); App.bObject = Ember.Object.create({ val: "" }); Emb

我阅读了文档和源代码,但仍然对两者感到困惑。 有什么想法吗?

Ember.Binding(to,from).oneWay().connect(obj)
是您直接创建一个的方式,但是有一个别名
Ember.oneWay(obj,to,from)
做同样的事情。。用法示例:

App.aObject = Ember.Object.create({
    val: "blah blah"
});

App.bObject = Ember.Object.create({
    val: ""
});

Ember.oneWay(App, 'bObject.val', 'aObject.val');

Ember.get('App.bObject.val'); // => "blah blah"
您可以将该Ember.oneway()捕获到一个变量中,以便稍后手动断开绑定,但通常我只是使用Ember的幕后魔法通过在“binding”中结束值来创建绑定,因此我们最终得到:

App.aObject = Ember.Object.create({
    val: "blah blah"
});

App.bObject = Ember.Object.create({
    valBinding: Ember.Binding.oneWay('App.aObject.val');
});

Ember.get('App.bObject.val'); // => "blah blah"

真棒,完全回答了我的问题。对于其他阅读的人来说,我认为@chrixian的意思是写Ember.oneWay(…)不,我的意思是
Ember.Binding.oneWay
。。。这样,ember就可以使用给定的属性名减去“Binding”字来创建属性。。这太奇怪了。因此,在两个对象实例化后声明绑定的情况下,Ember.Binding.oneWay不起作用,而您提到的别名Ember.oneWay起作用。单向小写版本引发了一个错误