javascript - 如何在angularjs中动态创建变量名?

标签 javascript angularjs

我对 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/

相关文章:

php - 如何使用 onchange 向 javascript 提供用户在下拉列表中的选择?

javascript - 如何根据参数拆分对象数组,仅对一个进行排序,然后在 Lodash 中再次加入

get - 如何使用AngularJS删除GET参数?

html - 如何找到控制台错误的位置

javascript - Controller 和外部指令之间的两种方式数据绑定(bind)

javascript - 如何访问我的 Controller 中的 AngularJS ui-bootstrap datepicker 值

javascript - ng-html-to-pdf-save 不适用于波斯语或阿拉伯语字符

javascript - 遍历数组以尝试页面上的多个选项并返回到每次迭代的初始页面

javascript - 指令/范围继承

javascript - react : make DOMElement UNhoverble