【发布时间】:2014-07-22 18:48:10
【问题描述】:
我有一个简单的操作,可以附加到{{#each}} 循环中的列表项,当触发该操作时,它将链接到该模型的实例。
这就是现在的样子
VpcYeoman.SuperTableController = Ember.ArrayController.extend({
actions: {
goTo: function(input) {
this.transitionToRoute('someModel', input);
}
}
});
在这样的 HTML 元素上调用该操作
{{action 'goTo' this bubbles=false}}
您可以看到问题在于“goTo”不能在其他模型上重复使用,因为它专门针对“someModel”模型。
请帮助我使此操作适用于任何当前模型
我尝试用通用的“模型”甚至“this.model”替换“someModel”,但没有奏效。
请不要回复“使用 {{#link-to}}”。我知道这存在并且
【问题讨论】:
-
将
goTo附加到列表项的代码在哪里? (你问题的后半部分在哪里?它在句子中间结束......) -
someModel应该是什么?我可以给你写一些伪代码。计算属性甚至一个简单的函数在这里就足够了......您需要弄清楚如何使用模型上下文来确定该路由路径。 -
目前
someModel在我的代码中被users取代。因此,单击用户列表中的用户将链接到该用户,并且现在可以正常工作,但问题是我不想在一个控制器中多次重写我的 goTo 操作。控制器是我在stackoverflow.com/questions/24871938/… 中提到的“SuperTableController”。使用这个控制器,我正在尝试进行处理所有基本edit、deletelink to this功能的全局操作 -
抱歉,
someModel被替换为user而不是users。users会给我一个错误。
标签: javascript jquery html ember.js handlebars.js