Я думал, что было бы здорово использовать что-то очень новое на чем-то очень старом. Поэтому я собираюсь использовать Angular 2 для управления очередями факсов в Sharepoint. У меня много времени, поэтому сейчас я просто научусь знакомиться. Во всяком случае,Угловая привязка свойств 2. Kinda working
Приложение сначала отображает список очередей, а когда вы нажмете один, отобразите факсы в этой очереди. Пока я просто хочу показать название. «Легко, - подумал я.
Вот FaxListComponent:
export class FaxListComponent implements OnInit {
public faxqueue: FaxQueue;
private sub: any;
constructor(private _faxService: FaxService, private _route: ActivatedRoute) { }
ngOnInit() {
this.sub = this._route.params.subscribe(params => {
let queuename = params['id'];
console.log('Queue: ' + queuename);
this._faxService.getFaxQueueByName(queuename)
.subscribe(queue => this.faxqueue = queue);
});
}
}
И тогда вид просто:
<p>
fax-list works!
</p>
<p *ngIf="faxqueue">
Current Queue: {{faxqueue.Display}}<br/><br/>
{{faxqueue | json}}
</p>
Странным является то, что связывание свойства дисплея не отображается, но это в JSON вид:
fax-list works!
Current Queue:
[ { "Id": 2, "Display": "East", "Name": "Incoming Fax East", "Url": "/casefile/Incoming%20Fax%20East/" } ]
Вот важные части faxservice:
export class FaxQueue {
Id: number;
Display: string;
Name: string;
Url: string;
}
getFaxQueues() {
return this._http.get('app/shared/faxqueues.json.txt')
.map((response: Response) => <FaxQueue[]>response.json().data)
// .do(data => console.log(data))
.catch(
function (error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
);
}
getFaxQueueByName(queuename: string) {
return this._http.get('app/shared/faxqueues.json.txt')
.map((response: Response) => (<FaxQueue[]>response.json().data).filter(queue => queue.Display === queuename))
// .do(data => console.log('data:' + data))
.catch(
function (error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
);
}
Не так ли. Это из FaxService: 'export class FaxQueue {' 'Id: number;' Display: string; Название: string; Адрес: строка; } и getFaxQueues() { возврата this._http.get ('приложение/общий/faxqueues.json') .map ((ответ:. Ответ) => response.json() данные) // .do (data => console.log (данные)) ); } –
KenLin
Хорошо, что выглядит ужасно – KenLin
Да, он делает;) Может быть, вы хотите отредактировать свой оригинальный вопрос? В любом случае, результат вашего json json, похоже, отображает массив с одним объектом в качестве одного из его элементов. Вы хотите использовать {{faxqueue.length}} вместо {{faxqueue.Display}} для подтверждения? –