控制器中的变量更改未反映在UI上-AngularJS
我通过调用函数来更改控制器中的变量。变量 isSameTaxonomyElements与UI中的元素绑定。但它正反映在用户界面上控制器中的变量更改未反映在UI上-AngularJS,angularjs,Angularjs,我通过调用函数来更改控制器中的变量。变量 isSameTaxonomyElements与UI中的元素绑定。但它正反映在用户界面上 $scope.validateAddElementButton = function (name, label) { for (var i = 0; i < $scope.elements.length; i++) { if (name === $scope.e
$scope.validateAddElementButton = function (name, label) {
for (var i = 0; i < $scope.elements.length; i++) {
if (name === $scope.elements[i].name || label === $scope.elements[i].label) {
$scope.isSameTaxonomyElements = true;
break;
} else {
$scope.isSameTaxonomyElements = false;
}
}
}
$scope.validateAddElementButton=函数(名称、标签){
对于(var i=0;i<$scope.elements.length;i++){
if(name==$scope.elements[i].name | | label===$scope.elements[i].label){
$scope.isSameTaxonomyElements=true;
打破
}否则{
$scope.isSameTaxonomyElements=false;
}
}
}
这是我的用户界面
<div ng-show="isSameTaxonomyElements">
<div class="col-lg-6 float-left" >
<p class="alert-message">No two elements should have same label or name.</p>
</div>
</div>
任何两个元素都不应具有相同的标签或名称
我还尝试添加$timeout、$apply等,但仍然不起作用。基本上,JavaScript变量只接受最后一个赋值。因此,根据您的代码,对于循环,如果满足条件,
IsSameOrganizationElements
将为true
,您的循环将中断(即不再有循环);或者,如果循环没有提前退出,则IsSameTransoxyElements
将是false
,并且最终IsSameTransoxyElements
将是false
并检查控制器名称、应用程序名称等基本内容。您的变量不在控制器范围内。添加新的html页面并添加新的控制器,然后创建新的路由。在添加的新控制器中测试您的功能。
第二:检查旧控制器中的作用域id。我认为您的html不在控制器范围内 你能发更多的代码吗?