我需要在{{#each content.activitytypes}}中触发{{showAlias}}视图方法,我已尝试{{_parentView.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'),
});
答案 0 :(得分:3)
{{parentView.showAlias}}
可以工作,但是在这些嵌套视图和子视图的情况下,我总能找到使用CollectionViews更易于维护的代码。否则,最终会在单个模板/视图中填充太多内容。