У меня есть контроллер с областью действия. Есть вызов API, который возвращает некоторые данные, и я сохраняю их в области видимости. Предполагается, что мой html проверяет, есть ли что-то внутри этой переменной, и отображает вещи по-другому.
HTML так же прост (но, конечно, не точный сценарий), как
<div ng-if='!ctrl.$scope.some_msg'>
<p>Some display, contain is not important</p>
<button on-click=some_func()></button>
</div>
<div ng-if='ctrl.$scope.some_msg'>
<p>{{ctrl.$scope.some_msg}}</p>
</div>
JS у меня есть
some_func() {
this.callAPI().then( res => {
this.$scope.msg = res;
});
Теперь эта функция работает, как задумано, и MSG действительно загружается в $scope.msg
, тестируется с использованием console.log
, но мой HTML не обновляется, пока я не выполню какое-либо другое действие. В этом случае эта кнопка останется там после нажатия, и я должен нажать еще раз, чтобы изменения на моей веб-странице произошли. Почему это?