helper返回的对象不是预期的标量值

时间:2015-09-25 22:32:35

标签: ember.js

以为我会创建一个if-then-else帮助器,如下所示:

import Ember from 'ember';
export function ifThenElse(param, ifTrue, ifFalse=null) {
  return Boolean(param) ? ifTrue : ifFalse;
}

export default Ember.Helper.helper(ifThenElse);

然后在使用我的组件时,我可以执行以下操作:

{{my-nifty-component class=(if-then-else pigsHaveWings 'wake-up' 'good-answer') }}

我遇到的问题是我的助手不是很有用,HTML / DOM的结果是:

<div class="[object Object] ember-view"></div>

有人可以帮助我帮助我吗?

1 个答案:

答案 0 :(得分:0)

在现代版本的Ember中,helper函数获取一个参数,此参数是一个参数数组,传递给helper。您需要将助手重写为

import Ember from 'ember';

export function ifThenElse([param, ifTrue, ifFalse]) {
  return Boolean(param) ? ifTrue : ifFalse || null;
}

export default Ember.Helper.helper(ifThenElse);