使用 Angular 从 Parse API 填充 select 选项
Populate select options from Parse API with Angular
我有一个 ParseServer 实例,我在其中保存类别列表并通过服务接收它们。
这些类别应以 HTML 形式显示为
当我将输出 {{categories}} 放在 html 代码的某处时,我可以看到一个正确长度的对象数组。甚至,当我将我的选项命名为“ 时,会显示正确的长度。
html
<select class="form-control" name="category" formControlName="category">
<option value="">-</option>
<option ngfor="let cat of (categories | async); let i = index" [ngValue]="cat">c:{{i}}</option>
</select>
组件
export class CreateComponent implements OnInit {
categories: any[];
...
constructor(private logService:LogService, private fb: FormBuilder, private parseManager: ParseManager, private categoriesService: CategoriesService) {
...
}
ngOnInit() {
this.parseManager.categoriesGet((cats) => {
this.categories = cats;
}
);
}
...
}
服务
var Parse = require('parse').Parse;
Parse.initialize("blabla123123123");
Parse.serverURL = "http://localhost:1337/parse";
export class ParseManager {
constructor() {
}
categoriesGet(success: (categories)=>void){
var query = new Parse.Query("Category");
query.find({
success: function(categories) {
console.log("Getting categories finished: ");
console.log(categories);
success(categories);
}
})
}
真可惜,我发现了问题,WebStorm 的自动完成功能将我的 *ngFor
重命名为 ngFor
。现在我把它改回 *ngFor
并且它有效。
我有一个 ParseServer 实例,我在其中保存类别列表并通过服务接收它们。
这些类别应以 HTML 形式显示为
当我将输出 {{categories}} 放在 html 代码的某处时,我可以看到一个正确长度的对象数组。甚至,当我将我的选项命名为“ 时,会显示正确的长度。
html
<select class="form-control" name="category" formControlName="category">
<option value="">-</option>
<option ngfor="let cat of (categories | async); let i = index" [ngValue]="cat">c:{{i}}</option>
</select>
组件
export class CreateComponent implements OnInit {
categories: any[];
...
constructor(private logService:LogService, private fb: FormBuilder, private parseManager: ParseManager, private categoriesService: CategoriesService) {
...
}
ngOnInit() {
this.parseManager.categoriesGet((cats) => {
this.categories = cats;
}
);
}
...
}
服务
var Parse = require('parse').Parse;
Parse.initialize("blabla123123123");
Parse.serverURL = "http://localhost:1337/parse";
export class ParseManager {
constructor() {
}
categoriesGet(success: (categories)=>void){
var query = new Parse.Query("Category");
query.find({
success: function(categories) {
console.log("Getting categories finished: ");
console.log(categories);
success(categories);
}
})
}
真可惜,我发现了问题,WebStorm 的自动完成功能将我的 *ngFor
重命名为 ngFor
。现在我把它改回 *ngFor
并且它有效。