随身笔记
随身笔记

angular $interpolate使用及案例

$interpolate(”,false,”) 可以接受3个参数,接受第一个参数的值类型是字符串可以是表达式,例如:

$interpolate第一参数是字符串 可以放表达式,并返回一个函数;

根据例子说明,返回的函数如果newdata()参数为空,只显示监控的emailcon输入的新内容并不能显示{{emailname}}的值,
//如果要显示{{emailname}}的值,就写成newdata({emailname:$scope.emailname})或者newdata(scope)

<body ng-app="myApp">
 <div ng-controller="run_email">
 <p><input type="text" ng-model="emailname"></p>
 <p><textarea ng-model="emailcon"></textarea></p>
 <p>{{text}}</p>
 </div>
</body>
 angular.module('myApp',[]).controller('run_email',function($scope,$interpolate){
 $scope.emailname='7713@qq.com'; //设置默认显示出的电子邮件
 $scope.emailcon='{{emailname}}'; //电子邮件表达式 赋值给emailcon变量
 $scope.$watch('emailcon',function(body,body1,scope){ //这里的body就是 {{emailname}}+即将输入的新值 
 if(body){ //这里始终都会是true,因为里面有表达式
 var newdata=$interpolate(body); //$interpolate第一参数是字符串 可以解析表达式,并返回一个函数
 $scope.text=newdata({emailname:$scope.emailname}); //如果newdata()参数为空,只显示监控的emailcon输入的新内容并不能显示{{emailname}}的值,
 //如果要显示{{emailname}}的值,就写成newdata({emailname:$scope.emailname})或者newdata(scope)
 }
 });
 });
interpolate

 

 
案例的效果就是,如果只修改电子邮件文本不会更新,但是修改了电子邮件,在输入邮件内容时,才会在文本处同时更新邮件地址和内容。所以触发的对象是邮件的内容。
 

随身笔记

angular $interpolate使用及案例
$interpolate('',false,'') 可以接受3个参数,接受第一个参数的值类型是字符串可以是表达式,例如: $interpolate第一参数是字符串 可以放表达式,并返回一个函数; 根据例子说明,…
扫描二维码继续阅读
2014-12-03