2012-07-26 44 views
2

是否有一個邏輯不處理與Ember.js綁定的handlebars?Ember.js把手綁定邏輯不是

假設我有,我想綁定到一個值

{{Ember.Button disabledBinding="view.controller.some_value"}} 

我只是想,如果some_valuefalse按鈕被禁用燼視圖。如果some_valuetrue,上面的代碼將禁用它。

解決此問題的一種方法是在控制器上有一個互補的計算值。 原諒我的CoffeeScript

opposite_some_value: (-> 
    if @get('some_value') == true 
     return false 
    else 
     return true 
).property 'some_value' 

但這似乎笨重。

+0

Handlebars通過互補的'unless'語句支持'if'語句中的邏輯。 http://handlebarsjs.com/ – wmarbut 2012-08-06 18:57:02

回答

9

用倒數值創建一個屬性是一條路。你可以使用綁定助手來做到這一點:oppositeValueBinding: Ember.Binding.not('some_value')

另請注意Ember.Button已被棄用,您應該使用{{action}}輔助器。

UPDATE

在Ember.js的新版本,它的oppositeValue: Ember.computed.not('some_value')

+1

那不是一個計算的屬性。多數民衆贊成在與變形的約束力。 – hvgotcodes 2012-07-26 16:40:31

+0

@hvgotcodes你是對的。我會回顧一下答案。 – pangratz 2012-07-26 16:41:52

+0

無賴...希望它可以在車把內處理。謝謝! – wmarbut 2012-07-26 16:59:17