J'ai vu un certain nombre de questions sur StackOverflow discutant de ng-transclude, mais aucune expliquant en termes simples ce que c'est.
La description dans la documentation est la suivante:
Directive qui marque le point d'insertion pour le DOM transclus de la directive parent la plus proche qui utilise la transclusion.
C'est assez déroutant. Quelqu'un pourrait-il expliquer en termes simples ce que ng-transclude est censé faire et où il pourrait être utilisé?
angularjs
angularjs-directive
transclusion
Code Whisperer
la source
la source
Réponses:
Transclude est un paramètre qui indique à angular de capturer tout ce qui est placé à l'intérieur de la directive dans le balisage et de l'utiliser quelque part (où se trouve réellement le
ng-transclude
) dans le modèle de la directive. Pour en savoir plus, consultez la section Création d'une directive qui enveloppe d'autres éléments de la documentation des directives .Si vous écrivez une directive personnalisée, vous utilisez ng-transclude dans le modèle de directive pour marquer le point où vous souhaitez insérer le contenu de l'élément
Si vous mettez cela dans votre balisage
Cela se présenterait comme:
Exemple complet:
Index.html
jscript.js
Output markup
Visualisez:
la source
transclude
.c'est une sorte de rendement, tout à partir de element.html () y est rendu mais les attributs de la directive sont toujours visibles dans une certaine portée.
la source
yield
semble être une bonne analogie.