我在Ember中有一个控制器,如下所示:
App.TasksController = Ember.ArrayController.extend({
search: function(term){ ... }
})
我有相关视图,带有自定义文本字段,如下:
App.TasksView = Ember.View.extend({
searchField: Ember.TextField.extend({
keyUp: function(){ this.get('controller').search() }
})
})
但是我得到一个错误,说没有这样的方法。
我在想:
console.log(this.get('controller'))
我得到一个对象,但导航并确切地了解哪个控制器是非常令人困惑的。答案 0 :(得分:1)
文本字段的范围与tasksview的范围不同,因此它无权访问控制器。
老实说,处理这个问题的一个更好的方法是将textfield值绑定到某个东西并向其添加一个观察者。当它改变了搜索的火焰时(或者更好的是将它去抖动,这样你就不会在他们输入的每一个字符的情况下解雇请求)