Ember.js 在控制器或其他地方编写javascript方法并从Handlebar调用它

Ember.js 在控制器或其他地方编写javascript方法并从Handlebar调用它,ember.js,ember-cli,Ember.js,Ember Cli,出于某种原因,无论我写的是什么帮助函数,它们都不在我的手柄中工作,说它们不是帮助函数。我想要两件事: 我是否可以在控制器中编写函数,并从Ember轻松调用它们?如果是,你能给我举个例子或者链接或者一些帮助吗 我可以在每个循环中分配变量等,比如我可以在每个外部循环中声明一个变量,在每个内部循环中分配它,然后在内部循环完成后使用分配的值吗 出于某种原因,我的ifCond助手不工作,它说ifCond不是一个助手,是否有任何内置的if来比较两个值并在ember中返回true或false,比如两个不同的字

出于某种原因,无论我写的是什么帮助函数,它们都不在我的手柄中工作,说它们不是帮助函数。我想要两件事:

  • 我是否可以在控制器中编写函数,并从Ember轻松调用它们?如果是,你能给我举个例子或者链接或者一些帮助吗
  • 我可以在每个循环中分配变量等,比如我可以在每个外部循环中声明一个变量,在每个内部循环中分配它,然后在内部循环完成后使用分配的值吗
  • 出于某种原因,我的ifCond助手不工作,它说ifCond不是一个助手,是否有任何内置的if来比较两个值并在ember中返回true或false,比如两个不同的字符串等
  • 请帮忙,谢谢。

    1。基本上没有。您应该为它提供一个getter/computed属性。 所以如果你有这个:

    class MyComponent extends Component {
      get foo() {
        return 10 + 50;
      }
    }
    
    您可以编写
    {{this.foo}}
    它将显示
    60

    对于经典课程,您可以这样做:

    Component.extend({
      foo: compute(function() {
        return 10 + 50;
      }),
    })
    
    2否。如果要执行业务逻辑,请在computed属性或组件
    js
    文件中的getter中执行。 因此,如果您想要一个值和总和的列表,例如,构建一个getter(或经典样式的计算属性)生成这个总和,然后在模板中使用它

    尽量将大部分登录信息保存在
    js
    文件中

    3:使用余烬真相助手 大多数人使用。它有一个
    eq
    帮助程序,允许您执行
    {{{if(eq this.foo“something”)}