如何使用WinJS.Binding实现可观察的“类”而不重复属性?

时间:2014-03-17 10:04:36

标签: javascript windows-store-apps windows-8.1 winjs

我使用WinJS.Binding.List函数来渲染一些集合。我希望该列表中的所有项都是可观察对象。此外,我想扩展具有其他属性的项目。

为了做到这一点,我没有使用WinJS.Binding.as函数调用,WinJS.Binding.List在每个push调用中执行。我正在创建自定义构造函数,然后将其与WinJS.Binding.mixin混合。

示例:

var SomeViewModel = WinJS.Class.define(function(sourceModel) {
    this._initObservable();

    this.prop1 = sourceModel.someProp1;
    this.prop2 = sourceModel.someProp2;
    ...
    this.propN = sourceModel.somePropN;

    this.additionalProp = false;
    this.someMoreProps = [];
});

WinJS.Class.mix(SomeViewModel, WinJS.Binding.mixin, WinJS.Binding.expandProperties({
    // Here I have to list ALL the properties from the constructor function
}));

我的问题是:是否有一些方法可以编写更少的代码,而不是在expandProperties函数中复制属性列表?

0 个答案:

没有答案