ng-disable не обновляется при изменении переменной, используемой в выражении

0

Я пытаюсь включить/отключить кнопку на основе выражения, как в приведенном ниже коде.

Но кнопка не включается снова при изменении значения переменной curPage.

Как обрабатывать этот случай в angularjs?

<button
    id="prevPage" 
    ng-click="prevPageBtnClicked($event)" 
    ng-disabled="{{curPage == 1}}">
        Previous
</button>


<button
    id="nextPage" 
    ng-click="nextPageBtnClicked($event)" 
    ng-disabled="{{curPage == totalPage}}">
        Next
</button>

Обновление 1: код контроллера

var myController = app.controller("mainCtrl", function($scope, $http) {

    $scope.logs = {};
    $scope.curPageLogs = {};
    $scope.itemPerPage = 15;
    $scope.curPage = 1;

    ...

    $scope.nextPageBtnClicked = function(event) {
        if ($scope.curPage < $scope.totalPage) {
            $scope.curPage += 1;
        }
        $scope.generateCurPageLogs();
    }



    $scope.prevPageBtnClicked = function(event) {
        if ($scope.curPage > 1) {
            $scope.curPage -= 1;
        }
        $scope.generateCurPageLogs();
    }
Теги:

2 ответа

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

Удалите {{ }}. Условный код в ng-if, ng-disabled и т.д. Не требует фигурных скобок. Рекомендуется использовать ===.

<button
    id="prevPage" 
    ng-click="prevPageBtnClicked($event)" 
    ng-disabled="curPage === 1">
        Previous
</button>


<button
    id="nextPage" 
    ng-click="nextPageBtnClicked($event)" 
    ng-disabled="curPage === totalPage">
        Next
</button>
3
  1. Вы должны использовать угловые выражения, т.е. {{..}} внутри html-директив

например.

<input value="{{sampleObj.attribute}}"/>
  1. Вы не должны использовать угловые выражения, т.е. {{..}} внутри угловых директив.

например.

<input ng-value="sampleObj.attribute"/>

в вашем коде, измените свой

ng-disabled="{{curPage == totalPage}}">

в

ng-disabled="curPage == totalPage">
  • 0
    Спасибо за объяснение :)
  • 0
    Как раз наоборот, добавив скобки, решил мою проблему.

Ещё вопросы

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