我对 AngularJs 还很陌生。在我的 Controller 中,我有一个 $rootScope
变量,我想根据条件动态分配一个值。
以下是我的 Controller 代码:
controller(){
$rootScope.tab1;
$rootScope.tab2;
$rootScope.tab3;
$rootScope.tab3;
$rootScope.tab4;
$scope.changeVal("tab2");
$scope.changeVal=function(tabname){
vm.tabs=['tab1','tab2','tab3','tab4','tab5'];
angular.forEach(vm.tabs, function(val) {
if(tabname===val)
{
//here $rootScope.tab2 value should be changed
//something like bellow
$rootScope.{{tabname}}="myValue";
}
else{
$rootScope.$eval(val)="";
}
});
}
}
我知道,通过应用多个 if 或 switch 条件可以做到这一点。但是,找到一些优化的解决方案。 任何帮助将不胜感激。提前致谢。
最佳答案
你为什么不直接使用
$rootScope[tabname]="myValue";
$rootScope
就像 Angular
中的 object
一样,您可以在其上添加属性和访问属性,就像使用 plain 一样旧的 JavaScript
。
关于javascript - 如何在angularjs中动态创建变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42113053/