【发布时间】:2016-07-29 18:23:18
【问题描述】:
我正在尝试在 Ext JS 6.0.2 组件中使用双向绑定。但是,据我所知,它并没有达到我的预期,或者根本没有。我创建了一个最小的示例:
Ext.define('MyComponentController', {
extend: 'Ext.app.ViewController',
alias: 'controller.mycomponent'
});
Ext.define('MyComponentModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.mycomponent'
});
Ext.define('MyComponent', {
extend: 'Ext.Component',
xtype: 'mycomponent',
viewModel: {
type: 'mycomponent'
},
controller: 'mycomponent',
config: {
thing: 'a defualt value'
},
bind: {
thing: '{thing}'
},
twoWayBindable: 'thing'
});
var myComponent = Ext.create('MyComponent', {
thing: 'a new value'
});
// Use setTimeout to give bindings time to update.
setTimeout(function() {
console.log(myComponent.getViewModel().get('thing'));
}, 1000);
我这里还有一个煎茶小提琴:https://fiddle.sencha.com/#fiddle/1efk
运行此代码的期望是看到a new value 登录到控制台。相反,我得到null。即使我设置了bind 和twoWayBindable,在我的视图上设置的值也不会发布到我的视图模型中。我是否误解了如何使用双向绑定?
【问题讨论】:
标签: javascript extjs extjs6