Привет я пытаюсь отобразить простые компоненты в angularjs, где ребенок должен получить доступ к родителю name.And мой код выглядит следующим образом:Как получить доступ к родительский компонент в angularjs 1.5
HTML файла:
<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>
КОД:
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);
}
});
И выдает ошибку:
TypeError: не удается прочитать надлежащее ty 'myName' of undefined
Я не могу понять, что не так в коде и почему он не может найти parent.Any входов на ошибку, которую я делаю. Кажется, это маленький, я могу пропустили.
привет и привет1 - родственные способности, один раз проверьте это! –
Я думаю, что что-то не так с вашей структурой компонента. Компонент ничего не должен знать о родительском компоненте. Это лучшая практика проектирования компонентов. – scokmen