Je veux créer un nouveau champ d'application avec cet objet:Comment créer une nouvelle étendue isolée avec un objet existant?
$scope.model = {
itemA: "First item",
itemB: "Second item"
};
// I know, this is wrong, but I want to show you, what I would like to do.
var newScope = $scope.$new($scope.model);
Le nouveau champ d'application que je veux accéder à la ngTransclude-partie de ma directive:
link: function (scope, element, attrs, ctrl, transclude) {
transclude(scope.model, function (clone, scope) {
element.find('section').html("").append(clone);
});
Et dans le modèle:
<p>{{itemA}} - {{itemB}}
Mais ce travail Indifférent
Je l'id A partir de: http://angular-tips.com/blog/2014/03/transclusion-and-scopes/ mais je ne veux pas travailler dans le champ d'application de la directive, mais dans un nouveau cadre.
': true' est pas un champ isolé. C'est une nouvelle portée qui hérite prototipiquement de la portée parent. 'scope: {}' est isolé. En outre, vous ne référencez pas la fonction 'link' dans la directive. – link
merci je vais mettre à jour mon poste – Tone
ps concernant le référencement de la fonction de lien, je n'ai pas besoin d'une fonction de lien, car je ne créerai jamais une instance de la directive. J'ai juste besoin de sa portée. – Tone