AngularJs指令监视异步数据
发布时间:2020-12-17 17:37:40 所属栏目:安全 来源:网络整理
导读:我正在尝试使用带有一些ajax数据的prettyprint.问题是,当调用指令时,数据没有准备好,所以我得到未定义的变量输出. 普兰克:http://plnkr.co/edit/fdRi2nIvVzT3Rcy2YIlK?p=preview var app = angular.module('plunker',[]);app.controller('MainCtrl',functio
我正在尝试使用带有一些ajax数据的prettyprint.问题是,当调用指令时,数据没有准备好,所以我得到未定义的变量输出.
普兰克:http://plnkr.co/edit/fdRi2nIvVzT3Rcy2YIlK?p=preview var app = angular.module('plunker',[]); app.controller('MainCtrl',function($scope,$http) { $scope.result = $http.get('data.json').success(function(result){ return result.data.dom }) }); app.directive('prettyprint',function() { return { restrict: 'C',link: function postLink(scope,element,attrs) { element.html(prettyPrintOne(scope.result)) } }; }); 解决方法
使用范围的
$watch 方法:
scope.$watch("result",function(n,o){ element.html(prettyPrintOne(scope.result)); }) 而不是这个: $scope.result = $http.get('data.json').success(function(result){ return result.data.dom }) 用这个: $http.get('data.json').success(function(result){ $scope.result = result.dom; }) 普拉克:http://plnkr.co/edit/Autg0V (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |