ember js:if等于params的问题

时间:2014-11-30 07:25:08

标签: javascript ember.js

我试图在ember js中比较2个值。下面是我在堆栈overflow.com上找到的解决方案的实现

模板

{{#if sectionfeedIsEqual param1=section.id param2=sectionfeed.sectionDefinitionID}}
                                    {{section.id}} is equal to {{sectionfeed.sectionDefinitionID}}
{{/if}}

控制器

sectionfeedIsEqual: (function() {
    {{debugger}}
    return this.get('param1') === this.get('param2'); <- undefined inthis.get('param1')
}.property('param1', 'param2')
)

我没有在this.get('param1')或this.get('param2')

中获取值

1 个答案:

答案 0 :(得分:0)

AFAIK,您无法从{{#if}}助手设置控制器属性(请参阅my JSBin example)。所以肯定你得到undefined因为这些属性没有在控制器中定义。对于这种情况,您应该编写自定义帮助程序(如this)或更改sectionfeedIsEqual定义:

sectionfeedIsEqual: (function() {
    return this.get('section.id') === this.get('sectionfeed.sectionDefinitionID');
}.property('section.id', 'sectionfeed.sectionDefinitionID')