2015-10-02 109 views
0

这个问题看起来有点奇怪。我试图创建函数通过角来更新数据库,并因为我懒我的功能将

gettable('tablebame') 

它会选择参数匹配表(MySQL的),并将其返回。 我没有想到这个问题,直到我注意到它只能用1个表。

$scope.users = {}; 

var gettable = function(name) { 

    httpFactory.setname(name); 


    httpFactory.get(function(response) { 

     $scope./* name inserted in function here */ = response; 

    }); 

}; 

gettable("users"); 

我仍然有一个静态的名称,现在评论是。我曾尝试过这样的事情,但它不起作用。

('$scope.' + name) 

有什么办法可以将返回值'response'绑定到$ scope。 +'姓名'?

+3

'$ scope [name] = response'? – Tony

+0

SyntaxError:之后缺少名称。运算符 –

+0

如果使用括号语法('$ scope [name] = response'),这看起来好像会起作用,但是您可能需要一些时间来确保此架构长期有意义。从现在开始,你不希望处理几个星期或几个月的问题,因为你在这里试图在一开始就偷工减料。 – Claies

回答

1

只需使用javascript's bracket syntax访问具有变量名称的属性。由于$scope本身只是一个对象,您可以使用

httpFactory.get(function(response) { 

    $scope[name] = response; 

});