2015-10-02 6 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. + 'name'?

+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; 

}); 
Смежные вопросы