РЕДАКТИРОВАТЬ: я использую AngularDart 5, и я создал проблему на GitHub https://github.com/dart-lang/angular/issues/1311
У меня есть этот компонент AngularDart:
@Component(
selector: 'todo-list',
template: '<div>{{todos | async}}</div>',
directives: [coreDirectives],
pipes: const [AsyncPipe])
class TodoListComponent {
Stream<List<TodoItem>> todos =
new TodoListViewModelImpl(new TodoServiceImpl()).output.todoItems;
}
![enter image description here](https://i.stack.imgur.com/NIcXQ.png)
Как видите, это работает, как и ожидалось.В шаблоне отображается пустой список, поскольку еще не был добавлен элемент todo.
Однако я не хочу иметь атрибут todos
для доступа к output.todoItems
.Я хочу получить доступ к output.todoItems
напрямую из шаблона, используя пунктирную запись:
@Component(
selector: 'todo-list',
template: '<div>{{viewModel.output.todoItems | async}}</div>',
directives: [coreDirectives],
pipes: const [AsyncPipe])
class TodoListComponent {
TodoListViewModel viewModel =
new TodoListViewModelImpl(new TodoServiceImpl());
}
НО на самом деле это не работает.Я не получаю никаких сообщений об ошибках.
![enter image description here](https://i.stack.imgur.com/ydd7H.png)