2015-10-02 81 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; 

});