$parse服务用于手动解析表达式,
$parse(存放一个表达式) ,$parse 默认返回的是一个函数,函数的参数设置就是该表达式所处的最近的作用域。
例如:
<body ng-app="myApp"> <div ng-controller="run_email"> <p>{{value}}</p> </div> </body>
angular.module('myApp',[]).controller('run_email',function($scope,$parse,$compile,$interpolate){ $scope.name = "hello"; var expression = "name + '--' +((5+6) == (12-1))"; var getter = $parse(expression);// $parse(表达式变量),$parse返回一个函数并赋值给一个变量。 $scope.value = getter($scope); //$parse返回的函数里放该表达式所处的最近一个作用域。 hello--true});
或者写成:
angular.module('myApp',[]).controller('run_email',function($scope,$parse,$compile,$interpolate){ $scope.name = "hello"; $scope.value = $parse("name + '--' +((5+6) == (12-1))")($scope); });
http://pan.baidu.com/s/1mgif3nE
http://www.haogongju.net/art/2793714