我正在寻找一种方法来使用DurandalJS activateItem()
并传入一个数组作为激活数据,但它将作为分隔值而不是数组进入所需的视图模型。
var activator = activator.create();
var viewModel = new Instance();
var activatorParams = [1,2,3]
activator.activateItem(viewModel, activatorParams );
在Instance
视图模型中,activate
看起来像这样。
self.activate = function(param1, param2, param3) { do stuff with parameters };
答案 0 :(得分:0)
AFAIK Durandal不支持,它会将您的参数原样发送到activate
,因此您应该在激活中收到一个参数。
一种选择可能只是塑造你的论点(当然,但是用适当的名字):
activator.activateItem(viewModel, {
firstParam: activatorParams[0],
secondParam: activatorParams[1],
thirdParam: activatorParams[2]
});
并将其收到:
self.activate = function(activationData) {
//do stuff with activationData.firstParam, etc.
};