gpt4 book ai didi

ember.js - emberjs 绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 17:11:28 25 4
gpt4 key购买 nike

我在绑定(bind) emberjs 时遇到问题。我已将 ember 文本字段绑定(bind)到 Controller 内的变量。当我写入文本字段时,绑定(bind)变量会正确更新。

现在我想通过 JS 更改变量(以及文本字段中的文本)。当我这样做时,什么也没有发生。

App = Ember.Application.create({});

App.FormInfo = Em.TextField.extend({
insertNewline: function(){
App.AController.clear();
}
});

App.AController = Em.ArrayController.create({
content: [],
name: '',
clear: function(){ //I want this function to clear the text field and set name to an empty string
this.name = '';
console.log(this.name);//expected empty string; actual user input
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-0.9.5.min.js"></script>
<script type="text/x-handlebars">
{{view App.FormInfo placeholder="Name" valueBinding="App.AController.name"}}
</script>

最佳答案

您需要使用 set像这样
this.set('name', '');
而不是你在做什么。
this.name = '';
KVO/Binding 的东西只有在你使用兼容的方法时才会发生;这就是为什么这些方法首先存在的原因。

Here is a working fiddle.

关于ember.js - emberjs 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com