您好我还是AngularJs的新手,并且想知道这是否可能。
在我的控制器上,我尝试创建一个函数,该函数接受一个字符串参数,该参数将指示要调用的$ http.get。然后我想在我的范围中分配该参数。例如
$scope.getpartial = function(partialtype) {
var promise = "";
switch(partialtype) {
case "account":
promise = $http.get("account url here");
break;
case "contact":
promise = $http.get("contact url here");
break;
}
promise.then(function(payload) {
$scope.XXXXXXX = payload.data;
});
}
XXXXXXX = partialtype ==" account"或"联系"
所以结果将被放置并存储在$ scope.account和/或$ scope.contact下。
这可能或有更好的方法吗?
答案 0 :(得分:7)
由于$scope
只是一个具有属性的对象,因此您可以使用括号表示法:
$scope[partialtype];
答案 1 :(得分:0)
虽然这似乎有可能,但我建议创建一个自定义Angular服务,它封装了http请求的逻辑。然后,您可以在控制器中包含您的服务,并访问您服务中的功能。
在此处查看用于创建自定义服务的Angular文档:Angular Documentation for Services