按钮未禁用

时间:2019-01-24 12:54:20

标签: html angularjs-directive mddialog

我正在尝试根据条件禁用按钮,但是在绑定数据或分配的新值不反映

时遇到问题

<md-dialog aria-label="Image Preview">
    <md-toolbar>
        <div class="md-toolbar-tools">
            <span flex></span>'

            <md-button ng-click="back()" style="right:1239px";>Previous</md-button>
            <md-button ng-click="next()" ng-disabled={{disableButton}}>Next
        </md-button>
            <md-button class="md-icon-button" ng-click="cancel()">
                <md-icon md-font-library="material-icons" aria-label="Close dialog" class="icon-static">close</md-icon>
            </md-button>
        </div>
    </md-toolbar>
    <md-dialog-content>
        <img ng-src="{{imageSrc}}" alt="{{title}}" class="demo-image">
            <div>
                <h2>Comments</h2>
            </md-dialog-content>
        </div>
    </md-dialog>

JS代码

var index = attrs.indexNumber;
var disableButton = false;
if(index == -1){
disableButton = true;
}

这里的问题是将disableButton设置为true的值不会反映回html。

有人在我错的地方可以帮助我

1 个答案:

答案 0 :(得分:0)

该指令的控制器看不到局部变量。 为了能够从HTML访问您的变量,您需要将其放在控制器的范围内。

代替     var disableButton = false     如果(索引== -1){         disableButton = true;     }

您必须将变量分配给作用域:

$scope.disableButton = false;
if (index == -1){
    $scope.disableButton = true;
}