Если это работает как привязка к свойству select, свойство name будет установлено в элементе javascript dom. Значение, пока оно не отображается в представлении, которое фактически было установлено на элементе HTMLElement.
Что иллюстрирована следующим шлепнуть:
import {Component} from '@angular/core'
import {ControlGroup, Control} from '@angular/common'
@Component({
selector: 'my-app',
providers: [],
template: `
<form [ngFormModel]="group">
<input type="radio" [attr.name]="name" ngControl="test">
<input type="radio" [attr.name]="name" ngControl="test2" ref-example>
<input type="radio" [name]="name" ngControl="test3" ref-exampletwo>
<p>using [attr.name]: {{example.name | json }}</p>
<p>using [name]: {{exampletwo.name | json }}</p>
</form>
`
})
export class App {
name: "test"
group: ControlGroup
constructor() {
this.group = new ControlGroup({
test: new Control(""),
test2: new Control(""),
test3: new Control("")
})
}
}
http://plnkr.co/edit/xHkgb0BgPzZLwyFpTo1W?p=preview
То, что вы на самом деле хотите сделать следующее:
[attr.name]="name"
Это позволит установить свойство на элемент.
Юп жаль был до обеда, и я тоже его обнаружил. Исправлены ошибки. Одна вещь, которая запутывает, хотя для людей, которые только начинают использовать угловые, заключается в том, что использование '[name] =" variable "' работает с некоторыми элементами в некоторых условиях, но не всегда. Поэтому кажется, что всегда стоит использовать '[attr.name]'. Если вы хотите, чтобы он тоже отображался на элементе –
Это не обязательно проблема с угловатой. Некоторые свойства (например, 'htmlFor' элемента' label') не имеют то же имя, что и атрибут ('for'), на который они отражены. То, что вызвано Angular, заключается в том, что иногда есть директивы, применяемые к элементам, у которых есть вход с тем же именем, что и атрибуты, но они не отражаются на атрибутах без использования '[attr.name]', но это по соображениям производительности. Обновление атрибутов дорого, потому что они меняют DOM и могут даже вызвать реинжиниринг. –
Я ожидаю, что Angular предоставит поддержку IDE, чтобы иметь возможность увидеть, применяются ли директивы в конечном итоге. Было принято много проектных решений, чтобы обеспечить отличную поддержку IDE. –