【问题标题】:AngularJS: what is $parseAngularJS:什么是 $parse
【发布时间】:2015-11-09 03:28:20
【问题描述】:

$parse() 在 AngularJS 中的作用是什么? AngularJS 的文档有非常简短和模糊的解释。 例如,

context – {object} – an object against which any expressions embedded in the strings are evaluated against

对我来说非常不清楚。 我理解 $parse() 返回一个函数。但是这个函数承载了什么?做什么的?以及如何使用这个函数的结果?

【问题讨论】:

    标签: javascript parsing angularjs-service


    【解决方案1】:

    $parse 是 Angular 内部使用的服务,主要用于评估表达式和渲染 UI。此服务仅用作单个变量的 getter/setter。

    $scope.text = 'abc';
    $parse('text')($scope);  //this will result in abc
    $parse('text').assign($scope,'xyz'); //this will set xyz in text
    

    【讨论】:

      【解决方案2】:

      为了理解$parse,我建议阅读Angular Expressions

      Angular 表达式是类似于 JavaScript 的代码 sn-ps,通常 放置在 {{ 表达式 }} 等绑定中。

      例如,这些是 Angular 中的有效表达式:

      • 1+2
      • a+b
      • 用户名
      • 项目[索引]

      更多:https://docs.angularjs.org/guide/expression

      简而言之:

      $parse "返回一个代表编译表达式的函数"。

      【讨论】:

        【解决方案3】:

        AngularJs $parse 返回一个函数,并且可以在 $scope 之后立即执行。这可用于单个变量gettersetter。例如

        $scope.name = 'John Doh';
        $parse('name')($scope);  //this will result in John Doh
        $parse('name').assign($scope,'Foo Bar');
        

        Angular 表达式也可以用作字符串参数。

        【讨论】:

        • 谢谢。可能是我的“研究工作”取得了进展。我了解 $parse 的作用,但如何在实际情况下使用它,它仍然是关闭(密封)的门。大声笑。
        猜你喜欢
        • 2021-09-18
        • 2016-08-13
        • 2011-05-01
        • 2014-10-11
        • 2012-11-18
        相关资源
        最近更新 更多