Javascript 角度-如何连接变量名称
我刚开始学习Angular,我试着用concat变量名来动态控制它 这就是我试过的-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>
<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,现在检查答案