Я новичок в Angular (версия 1.6.3) и столкнулся с этой проблемой:
у меня есть контроллер под названием prof:
(function () {
'use strict';
angular
.module('app.prof', [])
.controller('ProfController', ProfController);
/** @ngInject */
function ProfController($scope, Data)
{
var vm = this;
vm.documents = Data.documents;
vm.classes = Data.classes;
}
})();
Вот его связанный модуль:
(function () {
'use strict';
angular
.module('app.prof')
.config(config);
/** @ngInject */
function config($stateProvider, $translatePartialLoaderProvider, msApiProvider) {
// State
$stateProvider
.state('app.prof', {
url : '/prof',
views : {
'content@app': {
templateUrl: 'app/main/prof/prof.html',
controller : 'ProfController as vm'
}
},
resolve : {
Data : function(msApi){
return msApi.resolve('data@get');
}
}
});
$translatePartialLoaderProvider.addPart('app/main/prof');
msApiProvider.register('data', ['app/data/prof/prof-data.json']);
}
})();
И вот основная проблема: у меня есть этот html:
<div class="document" ng-repeat="document in vm.documents">
<ms-card template="'app/custom-directives/prof-card/prof-card.html'"
ng-model="document"></ms-card>
</div>
он отлично работает, данные правильно привязаны и все такое, но когда я помещаю шаблон, вызываемый непосредственно на страницу, вместо того, чтобы вызывать его через <ms-card>
, он больше не работает! я пытался поставить немного console.log()
везде, но он всегда говорит, что данные не определены; я не понимаю. Кроме того, ng-repeat
всегда работает нормально
Изменить: немного html, который я вызываю:
<md-list-item class="document-item md-white-bg md-2-line" md-ink-ripple>
<div class="media ml-16">
<img class="image-apercu" ng-src="{{card.media.image.src}}" alt="{{card.media.image.alt}}" ng-show="card.media.image">
</div>
PS: когда я добавляю html напрямую, я не забываю поставить ng-model="document"
, но он все равно не работает
Меня это очень смущает :/