我想将select元素绑定到对象列表-这很容易:
@Component({
selector: 'myApp',
template: `<h1>My Application</h1>
<select [(ngModel)]="selectedValue">
<option *ngFor="#c of countries" value="c.id">{{c.name}}</option>
</select>`
})
export class AppComponent{
countries = [
{id: 1, name: "United States"},
{id: 2, name: "Australia"}
{id: 3, name: "Canada"},
{id: 4, name: "Brazil"},
{id: 5, name: "England"}
];
selectedValue = null;
}
在这种情况下,似乎selectedValue
是一个数字-所选项目的ID。
但是,我实际上想绑定到country对象本身,所以它selectedValue
是对象,而不仅仅是id。我试图像这样更改选项的值:
<option *ngFor="#c of countries" value="c">{{c.name}}</option>
但这似乎不起作用。它似乎在我的对象中放置了一个对象,selectedValue
但是没有放置我期望的对象。您可以在我的Plunker示例中看到这一点。
我还尝试绑定到change事件,以便可以根据所选的id自己设置对象;但是,似乎更改事件在绑定的ngModel更新之前就触发了-
这意味着我当时无法访问新选择的值。
有没有一种干净的方法可以将选择元素绑定到具有Angular 2的对象?
<select [(ngModel)]="selectedValue">
<option *ngFor="let c of countries" [ngValue]="c">{{c.name}}</option>
</select>
注意:您可以使用,[ngValue]="c"
而不是[ngValue]="c.id"
c是完整的国家/地区对象。
[value]="..."
仅支持字符串值,
[ngValue]="..."
支持任何类型
更新
如果value
对象是对象,则预选实例必须与其中一个值相同。
另请参阅 自4.0.0-beta.7起可用的最近添加的自定义比较
<select [compareWith]="compareFn" ...
请小心,如果你想的访问this
范围内compareFn
。
compareFn = this._compareFn.bind(this);
// or
// compareFn = (a, b) => this._compareFn(a, b);
_compareFn(a, b) {
// Handle compare logic (eg check if unique ids are the same)
return a.id === b.id;
}
本文向大家介绍aurelia 绑定到选择元素,包括了aurelia 绑定到选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 字符串数组 在选择下拉列表中选择一个值并提供字符串数组时,所选值将作为字符串绑定到选择元素的value属性,我们可以使用字符串插值显示该字符串。 对象数组 与上面的示例不同,当提供对象数组时,在下拉列表中选择一个值时,绑定到该特定选项的模型就是所提供的对象。
问题内容: 摆弄相关代码:http : //jsfiddle.net/gFCzV/7/ 我试图设置绑定到ng-repeat中引用的对象的子级集合的下拉列表的选定值。我不知道如何设置选定的选项,因为我无法以任何我知道的方式引用它所绑定的集合。 HTML : JS : 这是我实际上应该在模型上将ng-init与SelectedIndex一起使用的一种情况吗? 问题答案: 如果使用AngularJS 1
选择元素和绑定数据是 D3 最基础的内容,本文将对其进行一个简单的介绍。 如何选择元素 在 D3 中,用于选择元素的函数有两个: d3.select():是选择所有指定元素的第一个 d3.selectAll():是选择指定元素的全部 这两个函数返回的结果称为选择集。 例如,选择集的常见用法如下。 var body = d3.select("body"); //选择文档中的body元素 var p1
问题内容: 我有这样定义的选择元素: 当我未在包含此选择元素的指令中未设置任何类型的值时,所有方法都可以正常工作。但是,当我执行类似的操作时,Angular会在select元素的顶部注入一个新值,而不是选择值为98的选项: 是什么赋予了?这是哪种格式,为什么会发生?请注意,如果我在指令中执行,我会得到一个normal ,它只是在生成的HTML中很奇怪。 编辑: 情况更新。 切换为使用,但问题仍然存
问题内容: 我正在尝试使用moxy将xml解组到对象。以下是xml的示例。 下面是我要映射的课程。 现在,我如何获取XML中的地址标签的值并将其绑定到类Address的地址行变量。 问题答案: 您需要在属性上使用注释。