如何在ember中以单向绑定/完全没有绑定的方式将数据传递给组件?

时间:2016-03-21 14:42:50

标签: ember.js ember.js-component

在模板中,我将组件称为:

{{comp-name data=controllerData}}

如果我更改组件中的数据,控制器的controllerData也会因隐式双向绑定而发生变化。我有两个问题:

1)如何将其作为单向绑定。因此,只有来自控制器controllerData的更改才会传播到组件的数据。

2)应该没有任何约束力。意味着,如果我更改组件或控制器中的数据。它不应该反映在其他事物上。

2 个答案:

答案 0 :(得分:9)

1)使用readonly助手:

{{comp-name data=(readonly controllerData)}}

2)使用unbound助手:

{{comp-name data=(unbound controllerData)}}

有关详细信息,请参阅http://emberup.co/bindings-with-htmlbars-helpers/

在未来版本的Ember中使用角括号组件时,默认情况下绑定将是一种方式,您需要使用mut帮助程序使其成为双向。

答案 1 :(得分:0)

指南中的这篇文章应该有所帮助:

https://guides.emberjs.com/v2.18.0/object-model/bindings/

它给出了这个例子:

INSERT INTO dbo.my_table DEFAULT VALUES;

希望有所帮助。