Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度-如何连接变量名称_Javascript_Angularjs_Variables_Dynamic_Concatenation - Fatal编程技术网

Javascript 角度-如何连接变量名称

Javascript 角度-如何连接变量名称,javascript,angularjs,variables,dynamic,concatenation,Javascript,Angularjs,Variables,Dynamic,Concatenation,我刚开始学习Angular,我试着用concat变量名来动态控制它 这就是我试过的- <div ng-app="myApp" ng-controller="myCtrl"> <button ng-click="myFunc(1)">Click Me!</button> <div ng-show="showMe1"> <h1>Menu:</h1> <div>Pizza</div>

我刚开始学习Angular,我试着用concat变量名来动态控制它

这就是我试过的-

<div ng-app="myApp" ng-controller="myCtrl">

<button ng-click="myFunc(1)">Click Me!</button>

<div ng-show="showMe1">
    <h1>Menu:</h1>
    <div>Pizza</div>
    <div>Pasta</div>
    <div>Pesce</div>
</div>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.showMe1 = false;
    $scope.myFunc = function(x) {
        var nametocng = 'showMe'+x;
        //var nametocng = $parse("showMe"+x);  // - I tried this also
        $scope.nametocng = !$scope.nametocng;
    }
});
</script>

点击我!
菜单:
披萨
意大利面食
佩谢
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.showMe1=false;
$scope.myFunc=函数(x){
变量nametocng='showMe'+x;
//var nametocng=$parse(“showMe”+x);//-我也试过这个
$scope.nametocng=!$scope.nametocng;
}
});

如果您有一个动态变量名,则需要通过
[]语法进行访问。它将计算变量的值并将该值用作属性名


点击我!
菜单:
披萨
意大利面食
佩谢
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.showMe1=false;
$scope.myFunc=函数(x){
变量nametocng='showMe'+x;
//var nametocng=$parse(“showMe”+x);//-我也试过这个
$scope[nametocng]=!$scope[nametocng];
}
});

如果您有一个动态变量名,则需要通过
[]语法进行访问。它将计算变量的值并将该值用作属性名


点击我!
菜单:
披萨
意大利面食
佩谢
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.showMe1=false;
$scope.myFunc=函数(x){
变量nametocng='showMe'+x;
//var nametocng=$parse(“showMe”+x);//-我也试过这个
$scope[nametocng]=!$scope[nametocng];
}
});

使用
$scope[变量]
进行动态分析


根据您的评论:最后,我想进行多个切换,但我希望所有切换都有一个功能。然后,每个按钮将处理一个切换

您可以使用
ng repeat
for
按钮
来处理不同的菜单


点击我!
菜单:
比萨饼1
过去的
Pesce1
菜单:
比萨饼2
Pasta2
Pesce2
{{nametocng}}
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.array=[1,2];
$scope.firstName=“John”;
$scope.lastName=“Doe”;
$scope.myFunc=函数(x){
angular.forEach($scope.array,函数(值,键){
$scope['showMe'+值]=false
});
变量nametocng='showMe'+x;
//var nametocng=$parse(“showMe”+x);//-我也试过这个
$scope[nametocng]=!$scope[nametocng];
}
});

使用
$scope[变量]
进行动态分析


根据您的评论:最后,我想进行多个切换,但我希望所有切换都有一个功能。然后,每个按钮将处理一个切换

您可以使用
ng repeat
for
按钮
来处理不同的菜单


点击我!
菜单:
比萨饼1
过去的
Pesce1
菜单:
比萨饼2
Pasta2
Pesce2
{{nametocng}}
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.array=[1,2];
$scope.firstName=“John”;
$scope.lastName=“Doe”;
$scope.myFunc=函数(x){
angular.forEach($scope.array,函数(值,键){
$scope['showMe'+值]=false
});
变量nametocng='showMe'+x;
//var nametocng=$parse(“showMe”+x);//-我也试过这个
$scope[nametocng]=!$scope[nametocng];
}
});
尝试使用此

您在单击时保留条件,并根据concat字符串进行检查

Js代码

    var app = angular.module('myApp', []);

    app.controller('ctrl', function($scope) {
      $scope.showMe1 = false;
      $scope.nametocng = 'showMe1';
      $scope.myFunc = function(x) {
        var nametocng = 'showMe' + x;
        $scope.showMe1 = $scope.nametocng === nametocng; // result will bool
      }
    });
HTML

    <div ng-app='myApp'>
      <div ng-controller='ctrl'>
        <button ng-click="myFunc(1)">Click Me!</button>
        {{showMe1}} {{nametocng}}
        <div ng-show="showMe1">
          <h1>Menu:</h1>
          <div>Pizza</div>
          <div>Pasta</div>
          <div>Pesce</div>
        </div>
      </div>
    </div>

点击我!
{{showMe1}{{nametocng}}
菜单:
披萨
意大利面食
佩谢

尝试使用此

您在单击时保留条件,并根据concat字符串进行检查

Js代码

    var app = angular.module('myApp', []);

    app.controller('ctrl', function($scope) {
      $scope.showMe1 = false;
      $scope.nametocng = 'showMe1';
      $scope.myFunc = function(x) {
        var nametocng = 'showMe' + x;
        $scope.showMe1 = $scope.nametocng === nametocng; // result will bool
      }
    });
HTML

    <div ng-app='myApp'>
      <div ng-controller='ctrl'>
        <button ng-click="myFunc(1)">Click Me!</button>
        {{showMe1}} {{nametocng}}
        <div ng-show="showMe1">
          <h1>Menu:</h1>
          <div>Pizza</div>
          <div>Pasta</div>
          <div>Pesce</div>
        </div>
      </div>
    </div>

点击我!
{{showMe1}{{nametocng}}
菜单:
披萨
意大利面食
佩谢

您想要的结果是什么?我不明白。最后,我想做多个切换,但我希望所有切换都有一个功能。然后,每个按钮都将处理一个切换,您想要的结果是什么?我不明白。最后,我想做多个切换,但我希望所有切换都有一个功能。然后,当我使用“[]”访问var时,每个按钮都将处理一个切换-它使我可以访问“子项”-var?你知道吗?这真的很有趣..我的意思是-如果name=“bla”;所以->$scope[name]==$scope.bla?是的,你是对的。它对表达式求值。当我使用“[]”访问var时,它使我能够访问“子对象”-vars?你知道吗?这真的很有趣..我的意思是-如果name=“bla”;所以->$scope[name]==$scope.bla?是的,你是对的。它对表达式求值。我怎样才能让它只切换一个?我mena-如果我按第一个,然后按第二个-第一个会折叠啊,我想到了这一点。。但是如果我有很多开关,它会很长。。这不是一种连接所有切换的方法,因此它们将相互依赖吗?@J.Doe,现在检查答案如何使其仅切换一个?我mena-如果我按第一个,然后按第二个-第一个会折叠啊,我想到了这一点。。但是如果我有很多开关,它会很长。。这不是一种连接所有开关的方法,因此它们将相互依赖吗?@J.Doe,现在检查答案