Как сравнить oldVal с newVal в методе $ scope. $ Watch?

0

Я определил модальное окно, в котором пользователь выбирает другое значение, а затем выбранное ранее. Модальное окно должно сохранить это значение после его закрытия. Я попытался реализовать это, используя метод $scope.$watch но он, похоже, не работает. Я определил контроллер ниже:

Ctrl.js

$scope.openEpcfTreeModel = function() {
  $scope.$watch('nonPersistentProcess.requestedEpcfKey', function(oldVal,newVal){
    var oldEpcf = oldVal;
    console.log("oldEpcf",oldEpcf);
    console.log("newVal",newVal);
    if(newVal !== oldVal) {
          $scope.nonPersistentProcess.requestedEpcfKey = oldVal;
    }
  });
}

Как исправить ошибку в моем коде?

  • 0
    Я не понимаю, что ты должен делать? Когда «nonPersistentProcess.requestedEpcfKey» изменился, вы сбрасываете значение до его старого значения. Почему? Во-вторых, каков тип значений «oldVal» и «newVal». Когда это объект, может быть, они не указывают на один и тот же объект?
Теги:

1 ответ

2
Лучший ответ

Правильной сигнатурой функции для $ scope.watch является:

$scope.watch('nonPersistentProcess.requestedEpcfKey', function(newVal, oldVal) {
  // Rest of the code.
});

newVal приходит до oldVal в списке параметров.

  • 0
    спасибо я исправлю это но это не решит мою актуальную проблему
  • 0
    получил это работает. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню