使用实例的具有敲除组件的参数



我想使用 requirejs 将参数发送到我的淘汰组件的"实例"(单例(。挖空帮助仅显示非实例参数传递的示例。

我有以下代码使用该实例并正常工作。

 //module declaration
 function unapAppointments()
{
      rest of code here.
}
 return {
        viewModel: {
            instance: new unapAppointments()
        },
        template: unapp,
    };

我想做的是下面从组件传入 PARAMS。然而,这显然是行不通的。

 //module declaration
     function unapAppointments(PARAMS)
    {
          use PARAMS
    }
 return {
        viewModel: {
            instance: new unapAppointments(PARAMS)
        },
        template: unapp,
    };

谢谢

根据参数返回新实例与使用shared instance视图模型相矛盾。这与使用视图模型作为构造函数(接受参数(方法完全相同。

如果要创建单个实例,请在每次应用绑定之前根据参数修改其内部结构,可以使用createViewModel工厂:

define(['knockout', 'text!./unapp.html'], function(ko, unapp) {
    function unapAppointments() {
        // rest of code here.
    }
    var mySingleton = new unapAppointments();
    function unapAppointmentsFactory(params, componentInfo) {
        // modify mySingleton using params
        return mySingleton;
    }
    return {
        viewModel: {
            createViewModel: unapAppointmentsFactory
        },
        template: unapp,
    };
});

但使用这种方法很微妙。如果页面中有多个组件,则最后一个要绑定的组件优先,其参数将覆盖所有其他组件。

相关内容

  • 没有找到相关文章

最新更新