AngularJS – 从字符串中获取$scope变量

前端之家收集整理的这篇文章主要介绍了AngularJS – 从字符串中获取$scope变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以说我有一个$scope变量定义如下:
$scope.data = {
    filter: {
        state: 'WA',country: 'US'
    }
};

如何通过字符串在单独的服务中访问它?例如$scope范围内的data.filter.

所以说我有这样的服务方法

function doSomething($scope,variableName) {
    // I want to access $scope[variableName] here??
}

我会从控制器中调用它,如下所示:

service.doSomething($scope,'data.filter');
您将需要使用 $eval
function doSomething($scope,variable) {
  var data = $scope.$eval(variable);

  // this logs {state: "WA",country: "US"}
  console.log(data);
}

但是,如果您希望每次内容更改时都执行某些功能,则最好使用$watch

function doSomething($scope,variable) {
  $scope.$watch(variable,function(data) {
    // this logs {state: "WA",country: "US"}
    console.log(data);
  });
}

猜你在找的Angularjs相关文章