2013-09-24 46 views
1

比較變量I需要相比於一些字符串顯示根據當前的看法可變一些塊:灰燼/把手:與串

代碼是:

{{#if view.someVariable "desiredValue"}} 
    Hurray desiredValue exists in this view! 
{{else}} 
    Sorry, doesn't match... 
{{/if}} 

當然它不作爲if語句只能使用一個參數。我嘗試使用Handlebars的自定義registerHelper,但它不能解析view.someVariable,而是將其用作字符串(儘管view.someVariable已定義且具有值)。

最後我還試着用車把的registerBoundHelper - 它解決了參數,但不支持車把的塊,還有更多的嘗試將字符串作爲對象解析,所以再次失敗。純粹的瘋狂!

我的觀點非常具有動態性,它們也取決於來自後端的許多因素,而從僞代碼開始的方法對於解決這個問題來說是完美的。有沒有辦法做到這一點?

編輯: 還有就是我想要的樣本... http://jsfiddle.net/biesior/dMS2d/看起來很平凡......

[if]each內聲明當然是僞代碼

回答

1

你可以只聲明計算的財產,像isDesired你的觀點,這會比較someVariable到您的字符串:

App.MyView = Ember.View.extend({ 
    // ...stuff... 
    isDesired: Ember.computed.equal('someVariable', 'desiredValue') 
}); 

而且有一個簡單的條件模板:

{{#if view.isDesired}} 
    Hurray desiredValue exists in this view! 
{{else}} 
    Sorry, doesn't match... 
{{/if}} 
+0

看看樣品:http://jsfiddle.net/biesior/dMS2d/是不是有更簡單的方法? [if]語句中每個都是僞代碼當然是 – biesior

+0

他將不得不爲每個他想要檢查的值創建一個字段 – Fixus

+0

顯然沒有其他辦法,這阻礙了很多應該是微不足道的東西...... thx無論如何 – biesior