Ember.js 需要澄清在获取值时,Ember{{input}}是如何工作的吗
我有以下表格和控制器:Ember.js 需要澄清在获取值时,Ember{{input}}是如何工作的吗,ember.js,Ember.js,我有以下表格和控制器: <form {{action loadList on="submit"}}> {{input value=subreddit id="subreddit" placeholder="Subreddit" required="true"}} <button type="submit">Go!</button> </form> 基本上,在提交时,它调用loadList(),loadList()使用这个.get(
<form {{action loadList on="submit"}}>
{{input value=subreddit id="subreddit" placeholder="Subreddit" required="true"}}
<button type="submit">Go!</button>
</form>
基本上,在提交时,它调用loadList(),loadList()使用这个.get()来获取输入字段的值,然后在我的模型中调用一个静态方法来提取数据。现在这个很好用
似乎value=subreddit类似于valueBindings=“subreddit”(如果我错了,请告诉我)
我的问题是为什么我不能这么做:
{{input value="" name="subreddit" id="subreddit" placeholder="Subreddit" required="true"}}
其中value属性为空
当我尝试时,var value=this.get('subreddit');不会返回我在字段中输入的值。事实上,调试器说它是未定义的 Ember将值绑定到上一个中的subreddit。如果将值保留为空,则该值不会被绑定,并且由于名为subreddit的控制器中没有任何内容,因此未定义。试试这个:
App.IndexController = Ember.ObjectController.extend( {
myInputValue: '';
loadList: function() {
var value = this.get('myInputValue');
// Other things
}
})
在模板中:
{{input value=myInputValue name="subreddit" id="subreddit" placeholder="Subreddit" required="true"}}
这是可行的,但通常最好将值绑定到模型的属性
{{input value=myInputValue name="subreddit" id="subreddit" placeholder="Subreddit" required="true"}}