Ответ 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);
}
});
}]);