ツールキット
クラスを文書化しようとしていますが、「自己」変数を使用してパブリック メソッドのみを公開しています。
jsDoc はクラス名を見つけることができますが、メソッド、フィールド、プロパティなどを見つけることができません...
これは私のクラスの1つです:
これにどのようにアプローチすべきか提案はありますか?
(function(App){
/** @class The ViewModel for the EventView */
App.ViewModels.EventsViewModel = function(service) {
var self = {};
/** Observable array containing events */
self.events = new ko.observableArray();
/** Call the fetchEvents method on the service */
self.refreshEvents = function(e){
$('.refreshBtn').changeIcon('refreshing');
service.fetchEvents();
}
/** subscribe on the service->currentEvents var
* on change update the events in this viewmodel
* set the refesh butting is set to refresh (instead of refreashing) */
service.currentEvents.subscribe(
function(newValue){
self.events(newValue);
$('.refreshBtn').changeIcon('refresh');
}
);
/** function for a timespan string ex: "10:00 - 14:00"
* Date inputs should be of ISO-8601 Date format */
self.toTimeString= function(/* String */ start,/* String */ end)/* String */
{
var out = "";
try
{
out =(start!=null && end!=null)? Util.IsoDateParse(start).format("HH:MM") + " - " + Util.IsoDateParse(end).format("HH:MM") : ""
}
catch(err)
{
out ="Error during toTimeString.\n\n";
out+="Error description: " + err + "\n\n";
}
return out;
}
/** Call the fetchEvents method on the service */
self.refreshEvents();
return self;
};
})(App)
ps: Knockoutjs と jQueryMobile を使用しています
編集:
ありがとう!ほとんどそこに...私はこのようなことをしようとしました:
/** @memberOf App.ViewModels.EventsViewModel#
* @field * @description Observable array containing events */
self.events = new ko.observableArray();
jsDoc では、「events」ではなく「self.events」のように表示されます