Angularjs 加载指令后调用函数
我正在编写angular 1.6的自定义指令 我想在指令加载后调用函数。有没有办法做到这一点 我尝试了link函数,但似乎link函数是在加载指令之前执行的 任何帮助都将不胜感激 这是我的指令码Angularjs 加载指令后调用函数,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我正在编写angular 1.6的自定义指令 我想在指令加载后调用函数。有没有办法做到这一点 我尝试了link函数,但似乎link函数是在加载指令之前执行的 任何帮助都将不胜感激 这是我的指令码 <pagination total-data= noOfRecords></pagination> 您可以尝试在$onInit()内部或$postLink()内部调用您的函数,您可以在link函数中添加一个手表totalData并在那里执行操作 scope.$watch('to
<pagination total-data= noOfRecords></pagination>
您可以尝试在
$onInit()
内部或$postLink()
内部调用您的函数,您可以在link函数中添加一个手表totalData并在那里执行操作
scope.$watch('totalData', function () {
if (scope.totalData && scope.totalData.length > 0) { //or whatever condition is required
}
});
既然您使用的是anguljsv1.6,请考虑将指令作为一个组件:
app.component("pagination", {
templateUrl: 'template/directives/pagination.html',
bindings: {
totalData: '<',
},
controller: "paginationCtrl"
})
组件的结构可以自动升级为Angular 2+组件。它们使迁移到Angular 2+更容易
有关详细信息,请参阅
app.controller("paginationCtrl", function() {
this.$onChanges = function(changesObj) {
if (changesObj.totalData) {
console.log(changesObj.totalData.currentValue);
console.log(changesObj.totalData.previousValue);
console.log(changesObj.totalData.isFirstChange());
};
};
this.$onInit = function() {
//Code to execute after component loaded
//...
});
});