无法在AngularJs中启用ng禁用的按钮

时间:2018-06-27 11:34:11

标签: angularjs

这就是我的controller.js中的内容

$scope.fileAdded = false;

$scope.fileNameChanged = function() {
    $scope.fileAdded = true;
};

我要启用此按钮...

<a ng-disabled="!fileAdded" class="btn btn-primary" role="button">Click</a>

...当我选择文件时:

<input type="file" name="file" id="file"
       onchange="angular.element(this).scope().fileNameChanged(this)">

尽管fileAdded从false更改为true,但未启用该按钮。为什么仍然禁用它?

2 个答案:

答案 0 :(得分:2)

使用onchange时,您将脱离angularJS。因此,您需要自己触发数字化周期:

$scope.fileNameChanged = function() {
    $scope.fileAdded = true;
    $scope.$digest();
};

答案 1 :(得分:-1)

您应该使用Angular's ngChange指令,而不是DOM onchange

<input type="file" name="file" id="file" ng-change="fileNameChanged()">