解析AngularJS表达式
- AngularJS会在运行$digest循环过程中自动解析表达式
- 通过$parse这个内部服务来进行表达式的运算,此服务能访问当前所处的作用域
- 利用$watch来解析
<!DOCTYPE html>
<html>
<head>
<title>手动解析表达式</title>
<meta charset=utf-8>
<meta name=description content="">
<meta name=viewport content="width=device-width, initial-scale=1">
<script src="angular-1.2.20/angular.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="MyController">
<input type="text" name="input" ng-model="expr" placeholder="Enter an expression">
<h2>{{parseValue}}</h2>
</div>
<script type="text/javascript">
var app=angular.module("myApp",[]);
app.controller("MyController",function($scope,$parse){
$scope.$watch("expr",function(oldVal,newVal,scope){
if(oldVal!==newVal){
var parseFun=$parse("expr");
$scope.parseValue=parseFun(scope);
}
})
});
</script>
</body>
</html>