来自助手的 EmberJS 条件不工作
EmberJS condition from helper not working
我有帮手istrue.js:
import Ember from 'ember';
export default Ember.Helper.helper(function() {
return true;
});
在我的模板中我使用:
{{#if istrue}}
true
{{else}}
false
{{/if}}
所以,在浏览器中 window 我总是得到 "false"。
问题出在哪里?
isTrue
指的是模板相关的属性(这里可以是controller的属性或者component的属性.
由于您的 isTrue
未定义,因此 {{if}}
帮助程序评估 false 分支。
我想你想要实现的是:
{{istrue}}
或
{{istrue param}}
在第二种情况下,将参数添加到您的辅助函数中:
import Ember from 'ember';
export default Ember.Helper.helper(function(param) {
return true;
});
之后也应该可以组合:
{{#if (istrue param)}}
可以在以下位置找到更多详细信息:Ember Guides - Writing own helpers
请这样使用ember助手。将以下代码粘贴到您的 istrue.js 帮助程序文件中。
import Ember from 'ember';
export function istrue(/*, hash*/) {
return true;
}
export default Ember.Helper.helper(istrue);
比安装以下插件
ember install ember-truth-helpers
此插件将在 ember 模板中为您提供真值条件
现在您可以在模板文件中使用以下代码来获取结果
{{#if (eq (istrue) true)}}
true
{{else}}
false
{{/if}}
它将 return 为真,因为助手 return 为真。
https://github.com/jmurphyau/ember-truth-helpers
我有帮手istrue.js:
import Ember from 'ember';
export default Ember.Helper.helper(function() {
return true;
});
在我的模板中我使用:
{{#if istrue}}
true
{{else}}
false
{{/if}}
所以,在浏览器中 window 我总是得到 "false"。
问题出在哪里?
isTrue
指的是模板相关的属性(这里可以是controller的属性或者component的属性.
由于您的 isTrue
未定义,因此 {{if}}
帮助程序评估 false 分支。
我想你想要实现的是:
{{istrue}}
或
{{istrue param}}
在第二种情况下,将参数添加到您的辅助函数中:
import Ember from 'ember';
export default Ember.Helper.helper(function(param) {
return true;
});
之后也应该可以组合:
{{#if (istrue param)}}
可以在以下位置找到更多详细信息:Ember Guides - Writing own helpers
请这样使用ember助手。将以下代码粘贴到您的 istrue.js 帮助程序文件中。
import Ember from 'ember';
export function istrue(/*, hash*/) {
return true;
}
export default Ember.Helper.helper(istrue);
比安装以下插件
ember install ember-truth-helpers
此插件将在 ember 模板中为您提供真值条件
现在您可以在模板文件中使用以下代码来获取结果
{{#if (eq (istrue) true)}}
true
{{else}}
false
{{/if}}
它将 return 为真,因为助手 return 为真。
https://github.com/jmurphyau/ember-truth-helpers