Ich habe verfolgt, GUI-Erweiterungen und bemerken Beispiele verwenden entweder _isEnabled
oder isEnabled
, ohne den Unterstrich. Beide scheinen zu arbeiten, um bestehende Funktionalität zu erweitern oder möglicherweise zu ersetzen.Was ist der Unterschied zwischen _isEnabled und isEnabled in Anguilla?
isEnabled
Zum Beispiel kann die Powerbasisklasse (die nicht vorhandene Funktionalität zu „erweitern“ scheint) hat:
PowerTools.BaseCommand.prototype.isEnabled = function(selection, pipeline)
{
var p = this.properties;
if (!p.initialized)
{
this.initialize();
}
if (!this.isToolConfigured())
{
return false;
}
if (this.isValidSelection)
{
return this.isValidSelection(selection, pipeline);
}
return true;
};
Ein Werkzeug, um diese Basisklasse verwenden kann und erklären. isValidSelection, zum Beispiel:
PowerTools.Commands.CountItems.prototype.isValidSelection =
function (selection) { ... }
_isEnabled
Ich sehe Anguilla verwendet ._isEnabled
für vorhandene Funktionalität (in Chrome-Konsole an zahlreichen Stellen im Code). Zum Beispiel WhereUsed
hat:
Tridion.Cme.Commands.WhereUsed.prototype._isAvailable =
function WhereUsed$_isAvailable(selection) ...
Privat Funktionen?
Ich bin vertraut mit einem vorangehenden Unterstrich eine Benennungskonvention für private Variablen. Sind _isEnabled und andere Funktionen, die mit einem Unterstrich beginnen, "privat"? Wenn ja, dann
- Wie soll wir erweitern (fügen Sie zusätzliche Funktionalität zu vorhandenen Code) diese Funktionen?
- Wie sollten wir ersetzen (nicht vorhandenen Code ausführen, aber haben unsere statt wie in einem "override") diese?
mir den gleichen Ansatz unter der Annahme gilt auch für andere Funktionen, die mit einem Unterstrich wie _isAvailable
und _invoke
starten.
- isAvailable
- isEnabled
Die Basisklasse aufrufen - Tridion.Core.Command - hat einen Standard:
Guter Punkt auf PowerTools 'isValidSelection. Um die Pipeline zu verwalten, setzen wir sie einfach auf "wahr/falsch"? Ich sehe 'pipeline.stop = true;' in der .js-Quelle. –
pipeline.stop = wahr; bedeutet in der Tat, dass es nicht zu anderen Erweiterungen oder den Unterstreichungsmethoden weitergehen sollte. Art von "Ich weiß es am besten, hör auf andere Antworten zu suchen" –