返回介绍

表达式函数化

发布于 2024-12-24 22:41:42 字数 1601 浏览 0 评论 0 收藏 0

13.4. 表达式函数化

`$parse` 这个服务,为 js 提供了类似于 Python 中 `@property` 的能力:

  var TestCtrl = function($scope, $parse){
    $scope.get_name = $parse('name');
    $scope.show = function(){console.log($scope.get_name($scope))}
    $scope.set = function(){$scope.name = '123'}
  }

`$parse` 返回一个函数,调用这个函数时,可以传两个参数,第一个作用域,第二个是变量集,后者常用于覆盖前者的变量:

  var get_name = $parse('name');
  var r = get_name({name: 'xx'}, {name: 'abc'});
  console.log(r);

`$parse` 返回的函数,也提供了相应的 assign 功能,可以为表达式赋值(如果可以的话):

  var get_name = $parse('name');
  var set_name = get_name.assign;
  var r = get_name({name: 'xx'}, {name: 'abc'});
  console.log(r);

  var s = {}
  set_name(s, '123');
  var r = get_name(s);
  console.log(r);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文