Meteor 流星角2:NGF';当模型被扩展时不更新
我有以下场景: 我从数据库(meteor/mongo)加载一些东西,例如:Meteor 流星角2:NGF';当模型被扩展时不更新,meteor,angular,Meteor,Angular,我有以下场景: 我从数据库(meteor/mongo)加载一些东西,例如: this.subscribe('cards', options, () => { this.cards = Cards.find({}, {sort: this.sortObject.get()}); }, true); 在模板中,我使用*ngFor=“#卡片中的卡片” 当我在某个动作上展开对象时,例如 this.cards.forEach((card:Card) => { card.dista
this.subscribe('cards', options, () => {
this.cards = Cards.find({}, {sort: this.sortObject.get()});
}, true);
在模板中,我使用*ngFor=“#卡片中的卡片”
当我在某个动作上展开对象时,例如
this.cards.forEach((card:Card) => {
card.distance = someValue;
});
模板不会得到更新,即当我使用{{card.distance}}
时,它不会显示
无法使用meteor和angular 2扩展订阅的对象/列表吗?这应该可以。以下是我尝试过的:
class Company {
constructor(private name:string) { }
}
@Component({
selector: 'contacts-list',
template: `
<ul>
<li *ngFor="#company of companies">{{company.name}} - {{company.distance}}</li>
</ul>
<div (click)="update()">Update</div>
<ul>
<li *ngFor="#company of rawCompanies">{{company.name}} - {{company.distance}}</li>
</ul>
<div (click)="updateRaw()">Update</div>
`
})
export class ContactsList {
constructor () {
this.companies = [
new Company('company 1'),
new Company('company 2'),
new Company('company 3'),
];
this.rawCompanies = [
{ name: 'company 1' },
{ name: 'company 2' },
{ name: 'company 3' }
];
}
update() {
this.companies.forEach((company:Company) => {
company.name = company.name + 'a';
company.distance = 'test';
});
}
updateRaw() {
this.rawCompanies.forEach((company) => {
company.name = company.name + 'a';
company.distance = 'test';
});
}
}
class公司{
构造函数(私有名称:string){}
}
@组成部分({
选择器:“联系人列表”,
模板:`
- {{company.name}}-{{company.distance}
更新
- {{company.name}}-{{company.distance}
更新
`
})
导出类联系人列表{
构造函数(){
这意味着公司=[
新公司(“公司1”),
新公司(“公司2”),
新公司(“公司3”),
];
这是一个公司=[
{name:'公司1'},
{名称:'公司2'},
{名称:'公司3'}
];
}
更新(){
this.companys.forEach((公司:公司)=>{
company.name=company.name+'a';
company.distance=‘test’;
});
}
updateRaw(){
此.rawCompanies.forEach((公司)=>{
company.name=company.name+'a';
company.distance=‘test’;
});
}
}
update
和rawUpdate
都更新视图。。。我错过了什么吗
请参阅以下命令:.尝试
this.cards=this.cards.slice()
在forEach
之后,感谢您的提示,我尝试了,但得到了错误属性“slice”在类型“Cursor…”上不存在。
如果它不是数组,您如何使用forEach
进行迭代?它是流星/mongo光标,显然有forEach但没有slice它有toArray()
。是的,我想你遗漏了一些东西:问题是流星+角度2。只有Angular 2行得通,我自己也试过了