我有个div
<div class="error-text" ng-if="customerIdLength > customerIdMaxLength" ng-init="error='yes'" >Error presented</div>
在这里,ng-if工作正常。
但
基于ng-init值,我将禁用如下按钮:
<button class="btn btn-success" type="submit" ng-click="submitNumber();" ng-disabled="error=='yes'">Submit</button>这不管用。,如果是,我要把这个ng-init放到没有ng-if的其他元素中,那么它就正常工作了。那么背后的原因是什么呢?
发布于 2016-11-04 08:32:27
<!DOCTYPE html>
<html data-ng-app="myApp">
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
</head>
<body data-ng-controller="testController">
<div class="error-text" ng-init="$parent.error='yes'" ng-if="1 > 0">Error presented</div>
<button class="btn btn-success" type="submit" ng-click="submitNumber();" ng-disabled="error=='yes'">Submit</button>
<script>
// Code goes here
angular
.module('myApp', [])
.controller('testController', ['$scope',
function($scope) {
}
])
</script>
</body>
</html>
您需要使用$parent获取ng-if内部的作用域。
发布于 2016-11-04 08:32:06
发布于 2016-11-04 08:36:46
我认为逻辑是合理的,但它可能缺少一些angularjs设置和配置,如ng-app和ng控制器声明在标记中。
确保这是在顶部声明的
<div ng-app="github" ng-controller="githubRepos">
<!-- Your code -->
</div>解决方案
https://stackoverflow.com/questions/40417739
复制相似问题