我在尝试使用CanJs
触发newVal
事件时遇到困难。我有如下所示的更改事件:
"{ApplicationShell.AppState.processState.modelExecution} change": function (model, ev, attr, how, newVal, oldVal) {
if (newVal === "Something"){
}
}
所以我必须触发这个事件。我可以使用以下代码触发此事件:
can.trigger(ApplicationShell.AppState.processState.modelExecution,"change")
但我无法将值传递给已更改事件的newVal
。我试着传递如下:
can.trigger(Sentrana.ApplicationShell.AppState.processState.modelExecution,"change","abcd");
但是这个" abcd"传递给事件方法的attr
而不是newVal参数。
那么有没有办法可以使用can触发器将值传递给newVal?
答案 0 :(得分:1)
是的,我们可以使用can.trigger()将值发送到newVal。
can.trigger(ApplicationShell.AppState.processState.modelExecution,"change",["a","b", "c", "d"])
现在价值将会发生如下触发事件:
“a” - > attr
“b” - >如何“c” - > newVal
“d” - > oldVal