2016-03-23 97 views
2

我有一个功能为init()的控制器。 传递给init()的属性是一个对象。像这样:从传递给数组的对象设置控制器属性

init({ 
    a: "A", 
    b: "B" 
}); 

如何将这些对象的值绑定到我的控制器? 我试过这个,但它不起作用。

this.init = function(params){ 
    angular.forEach(params, function (value, key) { 
     this[key] = value; 
    }); 
} 

我要的是当init()完成控制器已提前

回答

4

局部变量

this.a = "A"; this.b = "B";

感谢您无法访问this回调函数内。所以你所要做的就是,

var self = this. 
this.init = function(params){ 
    angular.forEach(params, function (value, key) { 
     self[key] = value; 
    }); 
} 
+0

这样做!谢谢 – Jacob

+1

欢迎。几个月前我面临的同样的问题。 – Ved

相关问题