控制器中的变量更改未反映在UI上-AngularJS

控制器中的变量更改未反映在UI上-AngularJS,angularjs,Angularjs,我通过调用函数来更改控制器中的变量。变量 isSameTaxonomyElements与UI中的元素绑定。但它正反映在用户界面上 $scope.validateAddElementButton = function (name, label) { for (var i = 0; i < $scope.elements.length; i++) { if (name === $scope.e

我通过调用函数来更改控制器中的变量。变量 isSameTaxonomyElements与UI中的元素绑定。但它正反映在用户界面上

$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不在控制器范围内

你能发更多的代码吗?