22.08.2016, 21:08
Hallo,
Auszug aus meinem EventEmitter:
und app.js...
...und...
Die Funktion welche in .once oben deklariert ist wird mehr als einmal ausgeführt.
Wie kann das sein?
Ich "lösche" wie im Code zu sehen sogar den Wrapper b(), trotzdem wird das ganze mehrmals ausgeführt, nämlich immer dann wenn sich der state (angularJS ui.router) ändert (das ganze befindet sich in einer angular config function)!?
Auszug aus meinem EventEmitter:
Code:
EventEmitter.prototype.once = function (event, listener) {
this.on(event, function g () {
this.removeListener(event, g);
listener.apply(this, arguments);
});
};
und app.js...
Code:
var BootConfigLoadEvent = new EventEmitter();
BootConfigLoadEvent.once('bootconfig', function(){
var c = arguments[0].config;
var themes = frdl.SQL
.from(c.themes)
.where("$.enabled == true")
.toArray();
frdl.each(themes, function(i,theme){
$('div[data-webkit-mod="themes"]').append(
'<div data-frdl-component="'+theme.url+'"></div>'
);
});
webfan.$Async(function(){
gui.ready.emit('theme loaded', $scope);
},1000);
webfan.$Async(function(){
var components = frdl.SQL
.from(c.components)
.where("$.enabled == true")
.toArray();
frdl.each(components, function(i,component){
$('div[data-webkit-mod="components"]').append(
'<div data-frdl-component="'+component.url+'"></div>'
);
});
},1);
webfan.$Async(function(){
var desktopwidgets = frdl.SQL
.from(c.desktopwidgets)
.where("$.enabled == true")
.toArray();
frdl.each(desktopwidgets, function(i,component){
$('div[data-webkit-mod="components"]').append(
'<div data-frdl-desktop-widget="'+component.url+'"></div>'
);
});
},1);
});
...und...
Code:
var b = function(){
BootConfigLoadEvent.emit('bootconfig', {
config : $scope.manifest,
time : new Date().getTime()
});
b = function(){};
};
Die Funktion welche in .once oben deklariert ist wird mehr als einmal ausgeführt.
Wie kann das sein?
Ich "lösche" wie im Code zu sehen sogar den Wrapper b(), trotzdem wird das ganze mehrmals ausgeführt, nämlich immer dann wenn sich der state (angularJS ui.router) ändert (das ganze befindet sich in einer angular config function)!?