我正在开发一个应用程序,我希望我的代码尽可能地易读,并且我想使用JSDoc。我想描述对象,但是我没有在网上看到例子
我尝试了@memberof,但是该对象包含嵌套对象,因此变得难以阅读
/**
* @const {Object} SUPPORT Objet pour gérer les supports
*/
const SUPPORT = {
/**
* @property {Object} container Propriété pour gérer le conteneur
*/
container: {
/**
* Récupérer le conteneur
* @returns {Object | null} Element récupéré ou null
*/
get: () => {
return document.getElementById("video_container")
},
/**
* Nettoyer le conteneur (enlever les éléments à l'interieur)
*/
clear: () => SUPPORT.container.get().innerHTML = "",
/**
* Ajouter un élement dans le conteneur
* @param {HTMLElement} element Element qui va être ajouter au conteneur
*/
add: (element) => SUPPORT.container.get().appendChild(element),
/**
* Enlever un élément du conteneur
* @param {HTMLElement} element Element qui va être retirer au conteneur
*/
remove: (element) => SUPPORT.container.get().removeChild(element)
},
video: {
/**
* Générer du code HTML
* @param {string} chemin Chemin de la vidéo
*/
genererHTML: (chemin) => {
const video = document.createElement("video");
const source = document.createElement("source");
video.width = "640";
video.height = "480";
source.src = chemin;
video.appendChild(source);
SUPPORT.container.add(video);
}
},
image: {
/**
* Générer du code HTML
* @param {string} chemin Chemin de l'image
*/
genererHTML: chemin => {
const image = document.createElement("img");
image.src = chemin;
SUPPORT.container.add(image);
}
}
};
当我转到JSDoc输出时,我希望有正确的文档
编辑: 我找到了一个解决方案:我在命名空间中使用命名空间,但是它不是干净的
/**
* @const {Object} SUPPORT Object qui contient les informations pour gérer les supports
*
* @namespace SUPPORT
*/
const SUPPORT = {
/**
* @namespace SUPPORT.container
*/
container: {
/**
* Récupérer le conteneur
* @returns {Object | null} Element récupéré ou null
*/
get: () => {
return document.getElementById("video_container")
},
/**
* Nettoyer le conteneur (enlever les éléments à l'interieur)
*/
clear: () => SUPPORT.container.get().innerHTML = "",
/**
* Ajouter un élement dans le conteneur
* @param {HTMLElement} element Element qui va être ajouter au conteneur
*/
add: (element) => SUPPORT.container.get().appendChild(element),
/**
* Enlever un élément du conteneur
* @param {HTMLElement} element Element qui va être retirer au conteneur
*/
remove: (element) => SUPPORT.container.get().removeChild(element)
},
/**
* @namespace SUPPORT.video
*/
video: {
/**
* Générer du code HTML
* @param {string} chemin Chemin de la vidéo
*/
genererHTML: (chemin) => {
const video = document.createElement("video");
const source = document.createElement("source");
video.width = "640";
video.height = "480";
source.src = chemin;
video.appendChild(source);
SUPPORT.container.add(video);
}
},
/**
* @namespace SUPPORT.image
*/
image: {
/**
* Générer du code HTML
* @param {string} chemin Chemin de l'image
*/
genererHTML: chemin => {
const image = document.createElement("img");
image.src = chemin;
SUPPORT.container.add(image);
}
}
};