微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/angularjs/140881.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐