Подключаем 2 контроллера и имеем доступ к первым свойствам контроллеров во втором контроллере
У меня проблема с угловым дротиком. 1 HTML-файл для запуска областей и 2 класса контроллера index.html
... {{subCtrl.user.name}}...
первый контроллер
@Controller(
selector: '[mainController]',
publishAs: 'mainCtrl'
)
class MainController{
User user = new User('testuser');
MainController();
}
второй контроллер
@Controller(
selector: '[subController]',
publishAs: 'subCtrl'
)
class SubController{
@NgOneWay('user')
User user;
// constructor
SubController(){
getData();
}
void getData(){
if(user != null){
// following code is not exececutet, because user is null
httpRequst(...);
}
}
}
когда пользователь настроен на @NgOneWay? кажется, не до того, как конструктор закончен. где я должен вызвать мой метод?
Теперь у меня есть проблема, я должен сделать асинхронный запрос в функции getData в классе SubController. этот http-запрос нуждается в свойствах user.name для построения домена, но пользователь не активен, когда я запускаю его в конструкторе. Я не могу установить аутентификацию для второго контроллера. должен быть другой вариант, чтобы заставить это работать.
Я перепробовал несколько вещей с будущим Дартса, но не получил работу.
1 ответ
Раньше это было AttachAware
интерфейс.
class SubController implements AttachAware {
attach() {
getData();
// or new Future(() => getData()); // if the line above still doesn't work - to give Angular one additional cycle to finish
}
}