我正在使用library来帮助我通过拖放对列表进行排序。
并且我给它的列表是列表类型的Observable,然后我使用async在html中读取它,它非常简单,看起来像这样:
@Injectable()
export class MyCmp implements OnInit {
myList: Observable<MyListType[]>;
showingList = false;
constructor(private _myService: MyService) {
};
public showListData(): void {
this.showingList = true;
this.myList = this._myService.getListData();
}
}
这是html:
<button md-button
(click)="showListData()"
title="">Show List
</button>
</div>
<md-content>
<div *ngIf="showingList">
<div dnd-sortable-container [sortableData]="myList | async">
<div class="list-bg" *ngFor="#item of myList | async; #i = index" dnd-sortable [sortableIndex]="i">
ID: {{item.id}} <p></p> Name: {{item.name}}
</div>
</div>
<div>Current List {{myList | async | json}}</div>
</div>
</md-content>
现在这不起作用,但是,如果我在我的组件中执行此操作而不是myList: Observable<MyListType[]>;
我做:
myList = this._myService.getListData();
然后在html传递myList中它很有用......
我不明白!!让我抓狂:/
请帮助
getListData()
喜欢这样:
public getListData(): Observable<MyListType[]> {
return this._someApiService.getCurrentListData().map(res => res.info);
}