1

{{_parentView.showAlias}}を試した{{#eachcontent.activitytypes}}内から{{showAlias}}ビューメソッドをトリガーする必要があります。私はそれを親の親に呼ぶ必要があると信じています、それは正しいですか、そしてどのようにですか?{{#each..。の外で{{showAlias}}を呼び出すことができます。

ハンドルバーテンプレート

    <script type="text/x-handlebars">
    <h2>Activities</h2>
    <ul>            
        {{#each Km.activityController}}
        {{#view Km.ActivityView contentBinding="this"}}
            <li>
                {{content.id}}:{{content.name}}
                <ul>
                {{#each content.activitytypes}}
                    <li>{{showAlias}}
                        {{name}} {{aliasname}}
                    </li>
                {{/each}}
                </ul>
            </li>
        {{/view}}   
        {{/each}}
    </ul>
</script>

意見

Km.ActivityView = Em.View.extend({

showAlias: function () {
    var arr = this.getPath('content.activitytypes'),
        show = false;
        console.log(arr)
        arr.forEach(function(item) {
            var aliasArr = item.showaliasaccountid;
            if (typeof aliasArr !== 'undefined') {
                if (jQuery.inArray(2,aliasArr)) {
                    console.log(aliasArr);
                    show = true;
                }
            }
        });
}.property('content.@each.activitytype.@each'),
});
4

1 に答える 1

3

{{parentView.showAlias}}動作しますが、ネストされたビューとサブそれぞれを使用するこれらの状況では、CollectionViewsを使用するとコードがより保守しやすくなります。そうしないと、単一のテンプレート/ビュー内に詰め込みすぎてしまいます。

http://docs.emberjs.com/#doc=Ember.CollectionView&src=false

于 2012-05-30T01:49:16.377 に答える