emberjs形成动作目标空参数

时间:2014-03-23 10:56:07

标签: ember.js

我在应用程序模板中有以下代码,我将此表单“发布”到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'));
}
}

2 个答案:

答案 0 :(得分:0)

在这里你是如何做到的,但我要坦率地说,这真的是非正统的,超出了范围。

在模板所在的控制器中进行操作会更有意义,因此您不需要针对不同的控制器,然后不需要访问不同的属性来自行动的控制者。

http://emberjs.jsbin.com/guxufaxi/1/edit

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