gpt4 book ai didi

javascript - Handlebar.helper 的 View 无法使用 Controller 中的操作

转载 作者:行者123 更新时间:2023-12-03 11:16:55 24 4
gpt4 key购买 nike

如何从使用 Handlebars 助手的 View 中调用 Controller 内部的操作(不确定 Handlebars 助手是否与获取 Controller 相关,但我还是想提一下)?

VpcYeoman.EditRecordCategoryView = Ember.TextField.extend({
//This is where i call the action from any controller
click: function() { // might be a property or some other action
this.get('controller').send('controllerActionName');
}
});

Ember.Handlebars.helper('edit-recordCategory', VpcYeoman.EditRecordCategoryView);

我会在该 View 内做什么来告诉 Controller 我希望它激活其操作之一?

编辑1:

我将 this.get('controller').send('controllerActionName'); 添加到 click:function(){},我在该行代码上收到错误 Uncaught TypeError: undefined is not a function

如果我将 this.get('controller').send('controllerActionName'); 添加到 didInsertElement: function(),我根本不会收到任何错误。

编辑2:

Handlebars 助手位于使用名为 recordType 的对象 Controller 的列表中。 “recordType”是我希望从 Handlebars 帮助的单击事件中调用的操作。然而

在record_types.hbs中

{{#each itemController="recordType"}}
{{#unless isEditing}}
{{categoryName}}  
{{/unless}}
{{#if isEditing}}
{{edit-recordCategory class="edit" value=category_name focus-out="acceptChanges" insert-newline="acceptChanges"}} //This is the handlebar helper
{{/if}}
{{/each}}

我们可以假设记录中的 isEditing 属性为 true,因为如果为 false, Handlebars 助手将不可见。

实际上,我的项目 Controller 中的操作旨在切换该属性isEditing

最佳答案

要从 Controller 的 View 中调用 Controller 操作,请执行以下操作:

VpcYeoman.EditRecordCategoryView = Ember.TextField.extend({
//This is where i call the action from any controller
click: function() { // might be a property or some other action
this.get('controller').send('controllerActionName');
}
});

关于javascript - Handlebar.helper 的 View 无法使用 Controller 中的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27301176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com