当我将模型(字符串)和$ scope放在一起形成$ scope.model时,Angular不会认识到它确实是一个已定义的范围变量。反正是不是让模型成为一个字符串,所以$ scope.model实际上会引用我需要它引用的内容吗?
$scope.games = [];
$scope.maxplayers = 0;
$scope.minplayers = 0;
........
function setupWatcher(model){
$scope.$watch(model,function(){
console.log($scope.model); // prints out undefined
if(!$scope.model) return;
$http.get('/api/games?'+ model + '=' + $scope.model)
.success(function(data){
$scope.games = data;
})
.error(function(data){
console.log('Error' + data);
});
});
}
angular.forEach(['maxplayers',' minplayers'],setupWatcher);
答案 0 :(得分:0)
是的,你应该这样做
$scope[model]
您可以以任何方式访问对象属性
var propName = 'prop3',
myObject = {
prop1: "123",
prop2: "456",
prop3: "789"
};
myObject.prop1 // 123
myObject['prop2'] // 456
myObject[propName] // 789
答案 1 :(得分:0)
使用括号表示法:
$scope[model]