Мне сложно объяснить мою проблему, но я постараюсь сделать все возможное.
У меня есть форма с контроллером A и директива с ng-transclude с контроллером B.
Когда я запускаю скрипт, я отправляю параметр ID, и я вызываю службу, которая создает $ http.get. Я дал обещаниеугловой js: два контроллера совместно с асинхронными данными
контроллер A:
if($routeParams.id){
formFunc.get($routeParams.id).then(
function (data){
this.data = data;
console.log("1"+this.data);
}
);
}
console.log("2"+this.data);
контроллер B:
this.fields = $scope.data.fields;
console.log("3"+$scope.data.fields);
Я имею в консоли: 2 неопределенными -> 3 не определено -> 1 Объект
Так я получить хорошо данные в контроллере A, но без привязки к контроллеру B.
Данные являются объектом {"fields": {...}, "title": ...}
Надеюсь, что проблема понятна
Ваши данные загружаются асинхронно , поэтому журналы консоли, которые вы видите, являются нормальными. В чем проблема? –
Я не извлекаю данные в контроллере B, поэтому он не отображается в моей форме. – Oliv
Вам нужно установить $ watch в $ scope.data, чтобы проверить, изменилась ли переменная как-то из-за асинхронной загрузки. – pcagica