我正在通过调用函数来更改控制器中的变量。变量 isSameTaxonomyElements与UI中的元素绑定。但它正在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;
}
}
}
这是我的用户界面。
<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等,但仍无效。
答案 0 :(得分:0)
基本上,JavaScript变量只占用最后一个赋值。因此,根据您的代码,在for循环中,如果满足条件,isSameTaxonomyElements
将为true
并且您的循环中断(即不再循环);或者isSameTaxonomyElements
将是false
,如果循环没有提前退出,则最终isSameTaxonomyElements
将为false
。
并检查控制器名称,应用程序名称等基本内容。
答案 1 :(得分:0)
您的变量不在控制器范围内。添加新的html页面并添加新的控制器,然后创建一个新的路由。在添加的新控制器中测试您的功能。 第二:检查旧控制器中的范围ID。我认为你的HTML不在控制器范围内。