Ich habe eine Steuerung, die ich erwartet haben, werden eindeutige Daten enthalten, sammeln wie folgt:Speichern von Daten zwischen den Controllern als uique
setInterval(function() {
dataStorage.setData('maxTime',maxTime);
dataStorage.setData('currentTime',currentTime);
dataStorage.setData('previousTime',previousTime);
var dMaxTime = dataStorage.getData('maxTime');
var dCurrentTime = dataStorage.getData('currentTime');
var dPreviousTime = dataStorage.getData('previousTime');
$log.debug("Max time " + dMaxTime);
$log.debug("Current time " + dCurrentTime);
$log.debug("Previous time " + dPreviousTime)
}, 2000);
die einfache Fabrik verwendet, um Daten zwischen den Controllern zu erfassen
myApp.factory('dataStorage', [function() {
var dataInfo = [];
return {
setData: function (key, data) {
dataInfo[key] = data;
},
getData: function (key) {
return dataInfo[key];
}
};
}]);
aber wenn ich hin und her gehe zu der Ansicht, die den ersten Code darüber hat, speichert sie dieselben Variablen wieder, aber mit anderen (aktualisierten Werten) und zeigt sie dann im Protokoll an, wie oft diese Ansicht mit dem Controller getroffen wurde.
Gibt es eine Möglichkeit, dies zu verhindern und nur die zuletzt erfassten Daten gespeichert zu haben?
Können Sie Ihren Controllercode etwas erweitern? Wo ist Ihre maxTime, currentTime, previousTime definiert? Was ist das Problem? Protokolliert es zu oft? Ich bin mir nicht sicher, was du fragst. – Vincent
@Vincent ja, es protokolliert zu oft (wie 3, 4 mal mit verschiedenen Werten) – JackTheKnife
Schlagen Sie alle diese Business-Logik von Controller zu Service – charlietfl