Hallo zuzugreifen Ich versuche, einfache Komponenten in AngularJS anzuzeigen, in dem Kind Eltern zugreifen muss name.And mein Code sieht wie folgt aus:Wie übergeordnete Komponente in AngularJS 1.5
HTML-Datei:
<html>
<head>
<script type='text/javascript' src='angular.min-1.5.0.js'></script>
<script type='text/javascript' src='app.js'></script>
</head>
<body ng-app="componentApp">
<div ng-controller="helloCnt">
<hello name="Parent"></hello>
<hello1 name="Child"></hello1>
<label>List: <input name="namesInput" ng-model="names" ng-list=" | " required></label>
</div>
</body>
</html>
Code:
app
.component('hello',{
transclude: true,
template:'<p>Hello I am {{$ctrl.name}} and ctrl name is {{myName}}</p>',
bindings: { name: '@' },
controller: function($scope){
$scope.myName = 'Alain';
alert(1);
}
})
app
.component('hello1',{
require: {
parent: 'hello'
},
template:'<p>Hello I am {{$ctrl.name}} && my parent is {{myNameFromParent}} </p>',
bindings: { name: '@' },
controller: function($scope){
$scope.myNameFromParent=this.parent.myName;
alert(2);
}
});
Und es wirft einen Fehler:
Typeerror: kann nicht richtig lesen ty 'myName' von undefined
Ich bin nicht in der Lage, herauszufinden, was im Code falsch ist und warum es die Eltern nicht finden kann.Alle Eingaben auf den Fehler, den ich mache.Scheint, ein kleiner zu sein, könnte ich verpasst haben.
hallo und hallo1 sind Geschwisterbereich, einmal überprüfen, dass! –
Ich denke etwas stimmt nicht mit Ihrer Komponentenstruktur. Eine Komponente sollte nichts über die Elternkomponente wissen. Dies ist die beste Vorgehensweise beim Komponentendesign. – scokmen