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);
  });
}

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...