如何在模板中的每个循环中将模型数据传递给控制器​​而不使用ember中的操作

时间:2015-12-01 22:24:23

标签: ember.js

这是模板:

{{#each user in inquiry.users}}
    <li>
       {{user.email}}
       <div class="pretty small danger btn icon-right entypo icon-cancel" {{action 'removeUser' user}}><a href="#">remove</a></div>
    </li>
{{/each}}

这是控制器:

    App.ManageUsersModalController = Ember.Controller.extend({
    needs: ['inquiry'],
    inquiry: Ember.computed.alias('controllers.inquiry.model'),

    createdBy: function() {
        return this.get('inquiry.created_by').substring(4);
    }.property('inquiry'),
    username: function(){
        return this.get('user.username');
    }.property(),

    //indented
});

我想通过比较inquiry.created_byuser.username来检查用户是否是主要用户。我可以在查询模型中获取属性。但是对于用户模型不能这样做。有人可以告诉我如何传递子数据,同时在模板中循环到控制器而不使用动作帮助器。因为我不需要点击页面来显示用户是否是主要用户。

1 个答案:

答案 0 :(得分:0)

我会写一个isEqual帮助器。

import Ember from "ember";

// http://emberjs.com/deprecations/v1.x/#toc_ember-select

export function checkEquality([leftSide, rightSide]) {
    return leftSide === rightSide;
}

export default Ember.Helper.helper(checkEquality);

hbs

{{#if (isEqual user.created_by inquiry.created_by)}}
     xxxx
{{/if}}