Angulaire de la Composante: pas de modèle de remplacer option?
Il semble comme il n'y a pas d'option "remplacer" dans le nouveau AngularJS 1.5 Composant concept (comme elle le fut pour les directives).
Que suggéreriez-vous si je veux avoir ligne de la table de <TR>
élément composant? Il n'est pas possible en termes de code HTML valide?
Exemple réel: boîte aux lettres de la composante a du courrier des composants à l'intérieur. Par un marquage mail-box-composante est de la table, et mail-box est tr.
<mail-box>
<mail ng-repeat="mail in $ctrl.mails" mail="mail"></mail>
<mail-box>
UPD: discussion sur les directives - Pourquoi remplacer l'obsolète dans AngularJS?
La solution est de ne pas utiliser le balisage et CSS avec de strictes exigences structurelles. Ce n'
Je veux que chaque mail être la composante distincte
C'est le travail de directives, de ne pas les composants. Les composants sont destinés à être autonome widgets, pour en savoir plus sur les Composants Web.
même si je suis généralement d'accord avec le sentiment, qui n'est pas nécessairement vrai, pensez à l'option d'un élément qui n'est pas autonome sans sélectionner l'élément autour d'elle
N'utilisez pas de
mail
faire exactement? Le plus probable de la boîte aux lettres a à absorber sa fonctionnalité et de l'ensemble du modèle.Je veux que chaque mail être la composante distincte
C'est le travail de directives, de ne pas les composants. Les composants sont destinés à être autonome widgets, pour en savoir plus sur les Composants Web.
même si je suis généralement d'accord avec le sentiment, qui n'est pas nécessairement vrai, pensez à l'option d'un élément qui n'est pas autonome sans sélectionner l'élément autour d'elle
N'utilisez pas de
tr
. Le problème est résolu. Une liste de mails n'est pas de tableaux de données, afin de l'utiliser table
est sémantiquement faux de toute façon.
OriginalL'auteur Stepan Suvorov | 2016-02-09
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas possible de le-jeu-de façon plus depuis le remplacer: le vrai drapeau a été désapprouvée
Pourquoi remplacer l'obsolète dans AngularJS?
le remplacer: le vrai drapeau avait plus de problèmes que de solutions, c'est pourquoi il a été supprimé.
par conséquent, vous ne pouvez pas construire des directives de manière plus valides table-tr-td de balisage.
Cependant, il y a deux raisons pour lesquelles ce n'est pas aussi mauvais que ça en a l'air:
vous pouvez faire tout ce que vous voulez faire sans table, tr, td, etc.
juste en utilisant des éléments comme la div, span, etc. et un peu de css sur elle
web-composants (et directives ont été une première tentative pour simuler
eux) ne sont pas destinés à représenter ces petits fragments de l'annotation.
ils sont plus pensée comme un élément
de faire quelque chose. donc, tout ce que vous voulez faire avec votre tr que vous
pense qu'il vaut la peine de construire un élément de la directive autour de lui, il
probablement isnt.
Peut-être, ce que vous pouvez faire est d'utiliser un attribut de directive de la place:
et votre ma-mail-directive fait la magie sur l'élément tr
le texte que vous êtes en utilisant seulement la cause de la confusion. Les composants ne sont PAS des directives ne font PAS partie de Angular2 clair et simple, pour le dire d'un composant est une directive ne confond personnes
ce que j'ai dit, c'est que l'ANCIEN elment-directives (ng1, restreindre:' E') sont maintenant connus comme composants dans ng2 - alors que l'ANCIEN attribut-directives (ng1, restreindre: 'A') ne sont pas connus en tant que directives dans ng2. et OUI, il y a des directives dans ng2. en disant que les directives ne font pas partie de ng2 est mal - plaine et simple. consultez la documentation de angular.io/docs/ts/latest/guide/attribute-directives.html
Je dois dire que j'ai déménagé retour à une table/tr/td installation pour une page où j'avais besoin d' .... une table :). Tout cela fonctionne calme agréable pour définir la largeur une fois dans la TH et TD de la suivre. Je trouve cela encore plus difficile à faire avec les Divs. Vous devez utiliser un peu plus de CSS magie, je suppose.
Lorsque vous imprimez une page, un navigateur répète le thead sur le haut de toutes les pages. Comment voulez-vous atteindre avec des divs?
OriginalL'auteur Patrick Kelleter