فراخوانی یک تابع بعد از اتمام Render در AngularJS
نویسنده: بهنام محمدی
تاریخ: ۱۳۹۴/۰۹/۰۹ ۱۲:۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
<div class="city" ng-repeat="item in items">
{{item.title}}
<div> $scope.items=[
{title:'اردبیل'},
{title:'تهران'},
{title:'تبریز'},
{title:'مشهد'},
{title:'اصفهان'}
]; $('.city').draggable(); app.directive('ngFinishRender', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
$timeout(function () {
scope.$eval(attr.ngFinishRender);
}, 0);
}
}
}
}); <div class="city" ng-repeat="item in items" ng-finish-render="init()">
{{item.title}}
<div> $scope.items=[
{title:'اردبیل'},
{title:'تهران'},
{title:'تبریز'},
{title:'مشهد'},
{title:'اصفهان'}
];
$scope.init=function(){
$('.city').draggable();
} $scope.$on('$includeContentLoaded', function () {
//دستورات بعد از اتمام بارگیری محتوا
}); <script type="text/ng-template" id="menu">
{{item.caption}} -- <b>{{level}}</b>
<ul ng-if="item.child.length > 0">
<li id="{{item.caption}}" ng-finish-render="doWork()" ng-repeat="item in item.child" ng-include="'menu'" ng-init="level = level + 1"></li>
</ul>
</script> <div class="well">
<ul>
<li id="{{item.caption}}" ng-repeat="item in data" ng-include="'menu'" ng-init="level = level + 1" ng-finish-render="doWork()"></li>
</ul>
</div> $scope.doWork = function(){
console.log($('#item2_1'));
}
$scope.level = 0;
$scope.data = [
{
caption:'root',
child:[
{
caption:'item1',
child:[{
caption:'item1_1',
child:[{
caption:'item1_1_1'
}]
},{
caption:'item1_1'
}]
},
{
caption:'item2',
child:[{
caption:'item2_1',
child:[{
caption:'item2_1_1'
}]
}]
}
]
}
];