html - ngOptions 不起作用,即使是基本示例

标签 html angular typescript html-select

我是 Angular 的新手,有点不知所措。

据我所知,我有一个组件可以显示 {{ this }} 之类的数据,效果很好。现在,我想选择 component.ts 中的数据。它是一个字符串数组:

private strategies: string[] = ["ASAP", "W&T"];

现在,在我的 component.html 中,我想用这些字符串作为选项创建一个选择。

<select ngModel="result" ngOptions="value for value in strategies">
</select>
{{ result }}

但是选项列表总是空的。 {{ strategies }} 产生 ASAP,W&T,这是正确的。即使我使用基本示例,例如:

<select ngModel="result" ngOptions="value for value in ['a', 'b']">
</select>

选项列表完全是空的。我错过了什么?

最佳答案

您需要在 options 上使用 ngFor 来构建 angular (v2+) 中的选项: 还要确保组件中定义的 strategies 是公开的,因此可以在模板中访问。

<select  [(ngModel)]="result">
    <option *ngFor="let strategy of strategies" [value]="strategy">
        {{strategy.name}}
    </option>
</select>

还要确保使用 *ngFor 中的变量名来绑定(bind)选项的值和显示属性。

ng-options 是 angularJS 的一部分,在 Angular v2+ 中没有使用。

关于html - ngOptions 不起作用,即使是基本示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55004863/

相关文章:

html - 当浏览器调整大小时,父 div 高度随着其子元素的增长而增长

javascript - 如何处理好友在线并在mini facebook有信息时立即发送通知

javascript - 单引号改为双引号

javascript - 访问 globalThis 属性的 typescript 错误

typescript - 如何在 typescript 中将类型对象键转换为字符串类型的数组

html - 带滚动的 div 消失在其他 div 后面

typescript - 从 "@angular"而不是 "angular2"导入 { * }

仅当第一个可观察对象为空时, Angular rxjs 才订阅第二个可观察对象

angular - 使用 BehaviorSubject<boolean> 与 angular 中的普通 bool 属性

typescript - 你如何使用 Typescript 编译器的类型检查器来获取声明的(别名)类型,而不是解析的类型?