Проблема AngularJS, показывающая динамические фразы в соответствии со значением области.

0

У меня проблема. Когда люди нажимают на ссылку, эта переменная добавляет 5 к исходному значению:

$scope.sumareco = function(cantidad) { $scope.contadoreco += cantidad};

Если я напечатаю значение {{sumareco}}, вы увидите, как изменяется значение.

Проблема начинается, когда я создаю условие для контроллера.

if ($scope.contadoreco < 30 && $scope.contadoreco > 10) {
        $scope.resultadoeco = "Opción uno";
    } else { 
        $scope.resultadoeco = "";
    }

Если я напечатаю {{resultadoeco}}, я ожидаю, что фраза изменится динамически в зависимости от числового значения $ contadoreco. Но он остается статическим и показывает только фразу, присвоенную исходному значению. Что я могу сделать?

благодаря

  • 0
    Каков контекст для оператора if ? Если он просто сидит в вашем контроллере, он будет работать только один раз
  • 0
    Да, внутри контроллера. Итак, что я могу сделать, чтобы это работало динамично?
Теги:
scope
variables

1 ответ

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

Я предполагаю, что ваш оператор if просто сидит в вашем контроллере, а не внутри любого метода или оператора, который будет работать во время цикла дайджеста.

Самый простой способ обновить resultadoeco - смотреть contadoreco. Например

$scope.$watch('contadoreco', function(val) {
    $scope.resultadoeco = val > 10 && val < 30 ?
        'Opción uno' : '';
});

См. Https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watch

  • 0
    Спасибо :) Это работает хорошо!

Ещё вопросы

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