在Angular中,在指令end之后调用函数
Angular, call a function after directive end
我需要知道某个指令何时完成了它的工作。
指令它不是我的指令,它是我用来本地化一些文本的指令;它工作得很好。
例子裁判:http://doshprompt.github.io/angular-localization/
<p i18n="locale.sampleText"></p>
我需要知道什么时候sampleText
被注入到p
元素,因为这改变了p
的大小,我需要更新我的布局。
谢谢。
您可以使用指令发布链接函数。这个函数将在元素处理结束时被调用——所以文本应该已经翻译好了。参见http://www.undefinednull.com/2014/07/07/practical-guide-to-prelink-postlink-and-controller-methods-of-angular-directives/
<p i18n="locale.sampleText" post-process></p>
app.directive('postProcess', function () {
return {
restrict: 'A',
link: {
post: function(scope,elem,attr){
$timeout(function() {
doPostProcess();
});
}
}
};
});
这不是解决您的问题的正确方法但是您可以通过编写指令
来完成您的工作<p i18n="locale.sampleText" check-content-loaded></p>
指令看起来像
myModule.directive('checkContentLoaded', function ($interval) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var interval = $interval(function () {
console.log('still not found');
if (element.text()) {
$interval.cancel(interval);
console.log('found'); //here you can change your layout
};
}, 1000); //changing time interval you can improve performance
}
};
});
相关文章:
- 如果条件,则在其他操作之后调用 Redux 操作
- 如何在每次onlick事件之后调用diffect函数
- 是否有必要在每个“typeof”之后调用“toLowerCase()”
- 如何在Response.Close()之后调用javascript函数
- 仅在focusout字段之后调用$scope.watch函数
- 在没有JQuery的情况下加载HTML主体之后调用JavaScript脚本的最佳方式
- 在函数1已经完成之后调用函数2
- 在完成另外两个方法之后调用一个方法
- Jquery-在具有条件的固定间隔加载体之后调用函数
- 在其他端点之后调用带有变量的函数(javascript / jquery)
- Javascript Button在开始时调用,而不是之后调用
- 在 {{#each}} 之后调用代码已在 ember.js 中呈现
- javascript 在 window.open 之后调用函数
- 在多个 XMLHttpRequest 之后调用 Javascript 函数
- 如何在当前事件之后调用先前绑定的事件
- 在javascript ajax调用之后调用了一个jquery
- 在ng include之后调用ng submit
- 我可以't在使用AJAX之后调用我的onclickjavascript函数
- 在回调和事件之后调用方法
- 在BIND之后调用JS函数