2016-05-23 72 views
0

我有幫助istrue.js:EmberJS條件不工作

import Ember from 'ember'; 

export default Ember.Helper.helper(function() { 
    return true; 
}); 

在我的模板,我使用:

{{#if istrue}} 
    true 
{{else}} 
    false 
{{/if}} 

因此,在瀏覽器窗口中我總是得到 「假」。

問題在哪裏?

回答

2

isTrue是指有關模板中的屬性(在這種情況下,它可能是控制器的屬性或組件的屬性。

由於您isTrue是不確定的,在{{if}}傭工評估分支。

我猜你想實現的是什麼如下:

{{istrue}} 

{{istrue param}} 

在第二種情況下的參數添加到您的輔助函數:

import Ember from 'ember'; 

export default Ember.Helper.helper(function(param) { 
    return true; 
}); 

而且組合應該可以算賬:Ember Guides - Writing own helpers

+0

是的,就是這樣! 非常感謝! – DenimTornado

0

{{#if (istrue param)}} 

更多細節可以在這裏找到

請用這種方式使用燼輔助器。將以下代碼粘貼到您的istrue.js幫助程序文件中。

import Ember from 'ember'; 

export function istrue(/*, hash*/) { 

    return true; 
} 

export default Ember.Helper.helper(istrue); 

比安裝以下插件

ember install ember-truth-helpers 

這個插件會給你在灰燼模板病情真相

現在你可以用以下你的代碼模板文件,以獲取導致

{{#if (eq (istrue) true)}} 
    true 
{{else}} 
    false 
{{/if}} 

它將返回true,因爲helper返回true。

https://github.com/jmurphyau/ember-truth-helpers