如何在CanJs中使用newVal触发事件

时间:2016-10-02 09:05:30

标签: canjs

我在尝试使用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?

1 个答案:

答案 0 :(得分:1)

是的,我们可以使用can.trigger()将值发送到newVal。

can.trigger(ApplicationShell.AppState.processState.modelExecution,"change",["a","b", "c", "d"])

现在价值将会发生如下触发事件:

  

“a” - > attr
“b” - >如何“c” - > newVal
“d” - > oldVal