У меня возникли проблемы с получением простого вложенного представления для отображения моих данных. Я пытаюсь перейти к нему.Угловое множественное представление, не получающее данные
Родительский вид загружает вложенные ... Обратите внимание, что если я делаю {{opc.org.address}} до этого, он проливает данные.
<div ui-view="address" addressData="opc.org.address"></div>
Шаблон адрес ... Примечание, если я изменяю {{opc.org.address. (Любой)}} Я могу увидеть штраф данных.
<div class="addressWrapper" ui-view>
<span class="address">{{ addressData.address1 }}</span><br />
<span class="address2" ng-if="addressData.address2">{{ addressData.address2 }}<br />></span>
<span class="city">{{ addressData.city}}</span>,
<span class="state">{{ addressData.state}}</span>
<span class="zip">{{ addressData.postalCode}}</span>
<span class="country" ng-if="addressData.countryCode"><br />{{ addressData.countryCode }}</span>
Мы бежим сайт через машинопись и Ui-маршрутизатор. Вот часть файла маршрутизатора, который загружает родительский и адресный вид.
.state('search.orgProfile', {
url: '/orgs/:externalOrgId',
views: {
'': {
templateUrl: 'app/orgs/org-profile.tmpl.html',
controller: 'OrgProfileController',
controllerAs: 'opc',
resolve: {
org: function (orgProfileService: IOrgProfileService, $stateParams: any) {
return orgProfileService.getOrgProfile(<string>$stateParams.externalOrgId)
.then(function (orgDetails: IOrg) {
return orgDetails;
});
},
relationships: function (relationshipsService: IRelationshipsService, org: IOrg) {
return relationshipsService.getRelationships(org.id, 0, Constants.PAGE_SIZE)
.then(function (relationships: RelationshipModel[]) {
return relationships;
});
},
notes: function (notesService: INotesService, org: IOrg) {
return notesService.getNotes(Constants.NOTES_TYPE_ORG, org.id)
.then(function (theNotes: NoteModel[]) {
return theNotes;
});
}
}
},
'[email protected]': {
templateUrl: 'app/components/address/address.tmpl.html'
}
}
});
При запуске страницы я вижу только «,». Таким образом, он работает как угловой, но не видит адрес, который я передал. Я что-то пропустил? Нужно ли определять адресные данные где-то еще?
Да, использование opc.org.address в шаблоне адреса работает, но мне нужно использовать этот шаблон для более чем одного представления, используя разные контроллеры. Поэтому мне нужен шаблон, чтобы получить данные адреса, переданные от родителя. – NikZ
Может быть, лучше вопрос, как бы я установил scope.addressData в u-route? – NikZ
То, что я говорю, вам не нужно. Но если вы действительно хотите сделать: $ scope.addressData = $ scope.opc.org.address в вашем OrgProfileController. Если вы хотите разделить привязки между представлением и состоянием, попробуйте добавить функцию addressData: function ($ scope) {return $ scope.opc.org.address}, которая вы вводите ее в контроллер контроллера вида. вам просто нужно было изменить решение каждый раз, когда вы используете этот шаблон/ctronller в другом состоянии. – Walfrat