Ember.js emberjs表单操作目标空参数

Ember.js emberjs表单操作目标空参数,ember.js,Ember.js,我在应用程序模板中有以下代码,我将此表单发布到posts控制器,但是当我想要获取searchField的值时,我得到了未定义的值 <form {{action "search" on="submit" target="controllers.posts"}}> {{input value="searchField" name=searchField}} <input type="submit" value="search"/> </form> 这是你

我在应用程序模板中有以下代码,我将此表单发布到posts控制器,但是当我想要获取searchField的值时,我得到了未定义的值

<form {{action "search" on="submit" target="controllers.posts"}}>
  {{input value="searchField" name=searchField}}
  <input type="submit" value="search"/>
</form>

这是你可以做到的,但我要坦率地说,这确实是非正统的,超出了范围

将操作放在模板所在的控制器中会更有意义,这样您就不需要针对不同的控制器,也不需要从操作中访问不同控制器的属性


您不应该设置为绑定值,最好在控制器中编写操作。 试试这个:

<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);
        }
    }
});
<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);
        }
    }
});