我在应用程序模板中有以下代码,我将此表单“发布”到posts控制器,但是当我想获取searchField的值时,我得到了未定义。
<form {{action "search" on="submit" target="controllers.posts"}}>
{{input value="searchField" name=searchField}}
<input type="submit" value="search"/>
</form>
帖子控制器
actions: {
search: function() {
console.log(this.get('searchField'));
this.set('search', this.get('searchField'));
}
}
答案 0 :(得分:0)
在这里你是如何做到的,但我要坦率地说,这真的是非正统的,超出了范围。
在模板所在的控制器中进行操作会更有意义,因此您不需要针对不同的控制器,然后不需要访问不同的属性来自行动的控制者。
答案 1 :(得分:0)
你不应该把&#34;&#34;绑定值,最好在控制器中写入操作。 试试这个:
<form {{action "search" on="submit"}}>
{{input value=searchField name="searchField"}}
<button type="submit"> Search </button>
</form>
App.PostsController = Em.Controller.extend({
searchText: '',
actions: {
search: function() {
var searchText = this.get('searchField');
console.log(searchText);
this.set('searchText', searchText);
}
}
});