sta*_*ser 1 handlebars.js ember.js ember-cli
我使用带有把手模板的ember-cli用于我的ember js应用程序.我有要求将值从hanldebars模板传递给ember控制器的计算属性.是否有任何方式ember支持将把手模板中的参数或任何值传递给ember控制器的计算属性.谢谢
我想做点什么:
App.Person = Ember.Object.extend({
hasPermission: function(value1, value2) {
// setter
if(value1 === value2){
return "You are permitted";
}else{
return "You are not permitted";
}
}.property('hasPermission')
});
Run Code Online (Sandbox Code Playgroud)
并从车把模板:
{{ hasPermission value1 value2 }}
Run Code Online (Sandbox Code Playgroud)
喜欢它的东西
GJK*_*GJK 16
简短的回答是,你做不到.Ember中的计算属性不是函数.Ember有一些语法糖,使它们更容易使用函数声明,但它们不是函数.您可以将Ember中的计算属性看作Javascript中的计算属性:它们看起来像函数,但它们不是.您不能将参数传递给计算属性,因为它不是函数.
话虽这么说,我想你想要的是一个Handlebars助手.您可以从控制器传入属性并对其执行计算以获得结果.从你的例子:
Ember.Handlebars.helper('hasPermission', function(value1, value2) {
if (value1 === value2) {
return 'You are permitted';
} else {
return 'You are not permitted';
}
});
Run Code Online (Sandbox Code Playgroud)
您可以在问题中使用该助手的具体方式:
{{hasPermission value1 value2}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6468 次 |
最近记录: |