我的 HTML 代码:-
<ul class="sub-menu collapse">
<li ng-hide="abcMenuHide" ng-click="showModal('abcMaster')">
<a>Add/update listOne</a></li>
<li ng-hide="xyzMenuHide" ng-click="showModal('xyzMaster')">
<a>Add/Update listTwo</a></li>
</ul> ... and so on
我试图隐藏 <li>
基于分配给 ng-hide
的值的元素。
我在这样的指令中设置这个值:-
$scope.menuListHide = function(){
for (var group in $scope.data) {
if (group != "sectionOne") {
for (var list in $scope.data[group]) {
for (var key in $scope.data[group][list]) {
if ($scope.data[group][list].view != undefined) {
if (!$scope.data[group][list].view) {
$scope.(list+"MenuHide") = true; \\This assignment is wrong also I am not able to attach scope to it.
}
}
else if($scope.data[group][list][key].view != undefined){
if (!$scope.data[group][list][key].view) {
$scope.(key+"MenuHide") = true; \\This assignment is wrong also I am not able to attach scope to it.
}
}
}
}
}
}
}
$scope.menuListHide();
有什么方法可以分配 $scope
以及连接字符串的值?
最佳答案
而不是这个(语法不正确):
$scope.(list+"MenuHide") = true;
你需要这样做:
$scope[list + "MenuHide"] = true;
要动态更改对象内的属性,您需要将属性名称用 []
括起来。并直接在对象上调用它。自 $scope
这里是一个 JavaScript 对象,属性 list + "MenuHide"
将被分配给true
在$scope
.
关于javascript - 如何为两个连接的字符串分配值和范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130187/