Discussions
rerun contents of lazylaoded file
Hi,
I have breakpoints in my lazyload file. It only gets hit on first load of the page. However, i have the lazyload directive set to run when certain buttons are clicked and its not happening. I need the contents to reload as the DOM has changed. Lazyload looks like this:
(function () {
'use strict';
angular.module('lazyloadCtrl', ['filesService'])
.controller('lazyloadCtrl', ['Files', '$ocLazyLoad', '$scope', '$rootScope', '$compile',
function (Files, $ocLazyLoad, $scope, $rootScope,$compile) {
$rootScope.$emit('initLazyLoad');
$rootScope.$on('initLazyLoad',function(event,args){
$ocLazyLoad.load(
[{
name: 'Callout_Email',
files: ['/scripts/services/lazyload.js'],
rerun: true
}
])
.then(function success(args) {
$ocLazyLoad.load(
[{
name: 'Callout_PeoplePicker',
files: ['/scripts/services/sp.email.js']
}
])
.then(function success(args){
var temp = document.getElementsByClassName('scEmailLink');
angular.forEach(temp, function(value,key){
value.onclick = function(e){
angular.element('#peoplepickerElm' + key).toggle();
//console.log("Hooked into element: peoplepickerElm" + key);
};
}, this);
console.log("Callout_PeoplePicker success: " + args);
},
function error(err){
console.log("Callout_PeoplePicker fail: " + err);
});
return args;
},
function error(err) {
console.log("Callout_Email fail: " + err);
console.log(err);
return err;
});
});
}]);
}());
The contents of the files are not angular. They are SharePoint. And because the DOM has changed, i need them reloaded/reran, but when i run $rootScope.$emit('initLazyLoad'); from another part of my application, these files are not getting reloaded.
Any suggestions?
Thanks