我在需要时使用Angular Js框架,HTML5和jQuery的帮助来开发Web应用程序。
问题是:
我有一些字段,其值取决于AJAX调用的结果。该请求返回一个JSON,并且该JSON的字段成为许多标签的值。
例如,在HTML代码中,我有:
<span>Data Nascita: <b><span id="patientBirthdate">{{patient.birthDate}}</span></b></span>
在我的 Controller 中,我有以下请求:
$.ajax({
type: "GET",
url: url,
async: true,
crossDomain: true,
success:function(result){
$scope.person = result;
},
error: function(xhr,status,error){
console.log ("error in receiving person's data");
}
});
此数据绑定(bind)正常工作。
问题是:如何截获数据绑定(bind)操作的结尾({{Patient.birthDate}}字段的结尾),以某种方式在此字段上调用另一个javascript方法?
我的目标是在使用jQuery插件并通过以下类型的调用由Angular填充后,“缩短”此字段的值:
$("#patientBirthdate").shorten({showChars: 15, moreText: ' >>', lessText: ' <<'});
提前致谢。
最佳答案
http://jsfiddle.net/SQuVy/751/这是您可以使用$watch
执行的操作。
每当对象回调发生更改时,
例如
angular.module('watchApp', []).controller('watchCtrl', function($scope) {
$scope.count = 0;
$scope.$watch('a', function() {
// change happened here do something
$scope.b=$scope.a;
//OR you can call your method here
}, true);
});
我在这里在a更改时将a的值分配给b。