Как инициировать событие с помощью newVal в CanJS

#canjs

#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 методу event не в параметре newVal.

Итак, есть ли какой-либо способ передать значение в newVal с помощью can trigger?

Ответ №1:

Да, мы можем отправить значение в newVal с помощью can.trigger().

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

Теперь значения будут соответствовать событию запуска, как показано ниже:

«a» -> attr
«b» -> как
«c» -> newVal
«d» -> oldVal