En essayant d'ajouter un dégradé à un graphique linéaire, j'avais besoin d'obtenir son canevas. Avant de procéder avec le canevas, j'ai ajouté une vérification de type, mais Vetur a remarqué que "l'objet est peut-être 'null'.Vetur(2531)".
mounted() {
const canv = document.getElementById("line-chart") as HTMLCanvasElement;
if (canv !== null && canv !== undefined) {
const gradient = canv
.getContext("2d")
.createLinearGradient(0, 0, 0, canv.height);
Après avoir fait des recherches, j'ai essayé d'utiliser l'opérateur de chaînage facultatif pour vérifier la saisie. Cette approche fonctionne, car aucune erreur n'est signalée.
mounted() {
const canv = document.getElementById("line-chart") as HTMLCanvasElement;
const gradient = canv
?.getContext("2d")
?.createLinearGradient(0, 0, 0, canv.height);
Je ne comprends pas pourquoi la première approche ne fonctionne pas, puisque canv est une constante et ne peut donc pas changer. Une vérification du type devrait suffire.
Pourquoi seul le chaînage optionnel fonctionne-t-il dans ce cas ?