In meiner Word-Cloud-Anwendung habe ich 2 Direktiven, eine Wortwolke Direktive und Tabelle Direktive, dass, wenn ein Wort in der Wortwolke ausgewählt ist, es an die Tabelle zu benachrichtigen, damit die Tabelle auch auswählen das entsprechende Wort. Die Wort-Wolke und die Tabelle von Versprechen mit, die im Dienst befindet, und ich möchte das Versprechen zerstören:Angular: Wie ein Versprechen zu zerstören
Servicecode:
this.selectedDefferd = $q.defer();
this.selectedPromise = this.selectedDefferd.promise;
notifySelect(id)
{
this.selectedDefferd.notify({newData: this.data[id]});
}
setSelect(callBack) {
this.selectedPromise.then(null, null, callBack);
}
Wortwolke Richtlinie Code:
d3.select(this).on("click", function (d) {
...
ctrl.wordService.notifySelect(d.id);
}
Tabelle Richtlinie
Vielen Dank im Voraus,
Harel
Was genau meinen Sie mit "zerstören"? Warum willst du das und was nützt es? – Bergi
$ element.on ("$ destroy", funktion() { console.log ("wordCloud controller zerstört"); }) Um Speicherverlust zu vermeiden –
Sie können einfach 'this.selectedDefferd = null ', aber Ich denke nicht, dass es sonst zu einem Speicherleck führen würde. – Bergi