Подтвердить что ты не робот

Использование $parse в angular js

Любые идеи о том, где использовать $parse of AngularJS.

Просьба привести примеры или ссылки, которые четко описываются.

4b9b3361

Ответ 1

Angular запускает $parse автоматически, когда он запускает цикл $digest, в основном $parse - это способ angular оценивать выражения. Если вы хотите вручную разобрать выражение, вы можете ввести службу parse в $controller в контроллер и вызвать службу, чтобы выполнить синтаксический анализ для вас.

Здесь код, отрезанный от ng-книги, который затем анализирует выражение.

<div ng-controller="MyCtrl">
  <input ng-model="expr" type="text" placeholder="Enter an expression" />
    <h2>{{ parsedValue }}</h2>
</div>

то в нашем модуле

angular.module("myApp", [])
 .controller('MyCtrl',['$scope', '$parse', function($scope, $parse) {
    $scope.$watch('expr', function(newVal, oldVal, scope) {
      if (newVal !== oldVal) {
        // Let set up our parseFun with the expression
        var parseFun = $parse(newVal);
        // Get the value of the parsed expression
         $scope.parsedValue = parseFun(scope);
      }
    });
 }]);

Ответ 2

вы, вероятно, не будете использовать $parse напрямую, но это то, что преобразует angular выражения в функции JavaScript. Выражения представляют собой фрагменты кода, подобные JavaScript, которые обычно помещаются в привязки, такие как {{ expression }}.