【问题标题】:ExtJS bind to singleton objectExtJS 绑定到单例对象
【发布时间】:2015-05-12 23:30:25
【问题描述】:

我正在尝试绑定到已定义类中的值,以对其更改做出反应。 但是没有反应发生。我从 data.Model 扩展了对象,并尝试通过链接进行绑定,但是做错了。

带参数的类:

Ext.define('Platform.core.OssStatusAdapter', {
extend : 'Ext.data.Model',
alternateClassName : [ 'OssStatusAdapter' ],
singleton : true,

fields : [ {
    name : 'ossConected',
    type : 'boolean',
    defaultValue : false
} ]

});

某个类中值发生更改的代码:

        OssStatusAdapter.set('ossConected',event.connected);

期望对绑定做出反应的代码:

Ext.define('Plugin.scheduler.package.config.PackageConfigurationViewModel', {
    extend : 'Ext.app.ViewModel',
...
    links: {
        ossAdapter: {
            type: 'Platform.core.OssStatusAdapter',
            create: true
        }
    },
...
    formulas : {
        canDeploy : {
            bind : {

                isOssUp : '{ossAdapter.ossConected}'
            },
            get : function(data) {
                return data.isOssUp;
            }
        }
}

但公式中的值没有变化。 我错过了什么?

【问题讨论】:

  • 试试this solution
  • 没有了解如何集成到我的代码中,抱歉

标签: extjs data-binding model bind


【解决方案1】:

尝试以这种方式定义您的公式:

formulas: {
    canDeploy: function(get) {
        var connected = get('ossAdapter.ossConected');
        // see if this moves when you change the record
        console.log('connected', connected);
        return connected;
    }
}

【讨论】:

  • 我不得不删除links并在公式中添加data,一切都开始工作了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多