gpt4 book ai didi

ember.js - Ember 1.0.0 - 无法再从 View 中访问 Controller ?

转载 作者:行者123 更新时间:2023-12-04 01:07:16 32 4
gpt4 key购买 nike

我正在使用 render模板中的 helper,它呈现一个带有 typeahead 的搜索框。

本质上(为简洁起见删除了代码):

script(type='text/x-handlebars', data-template-name='index')
{{render search}}

script(type='text/x-handlebars', data-template-name='search')
{{view App.TaggableInput valueBinding="searchText"}}

这给了我一个 SearchControllerIndexController 分开.

App.TaggableInput我在抢 searchController对 keyUp 事件做一些检查:
App.TaggableInput = Ember.TextField.extend({
keyUp: function(e){
var controller = this.get('controller');
// Do stuff with the controller
}
});

在 Ember RC7 上,我可以像您期望的那样访问 View 中的 Controller this.get('controller').get('searchText') .

然而在 Ember 1.0.0 this.get('controller')返回 View ,无论我做什么我都无法得到 searchController .

我在 ember 网站上找不到任何关于更改内容或我应该做什么的相关信息......现在我坚持使用 RC7。

有任何想法吗?今天早上我已经花了几个小时,无法弄清楚。谢谢。

更新:固定!

我换了 this.get('controller')this.get('targetObject')它像以前一样工作。仔细阅读了 a recent commit in ember source找到它...

谢谢你们的建议!

最佳答案

我想在你的代码中

App.TaggableInput = Ember.TextField.extend({
keyUp: function(e){
var controller = this.get('controller');
// Do stuff with the controller
}
});

这条线
 var controller = this.get('controller');

获取与您的( subview )关联的 Controller

尝试使用此行来访问路由的 Controller :
 var controller = this.get('parentView.controller');

关于ember.js - Ember 1.0.0 - 无法再从 View 中访问 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18570805/

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