angular js $ scope使用string绑定变量

时间:2015-02-25 21:19:53

标签: javascript angularjs

当我将模型(字符串)和$ 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);

2 个答案:

答案 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]