我试图读取单选按钮值 - 以角度2,
的index.html
<input type="radio" id="options1" name="function" value="create">
<input type="radio" id="options2" name="function" value="continue">
index.ts
@Component({
selector: 'function',
templateUrl: './client/components/function/index.html',
styleUrls: ['./client/components/function/index.css'],
providers: [],
directives: [ROUTER_DIRECTIVES]
})
我需要根据是否创建或继续单选按钮值在html中显示div。
我尝试过的事情:
document.getElementById
在打字稿文件中获取单选按钮的值 - 未检测到属性checked
。model.function
,使用model
读取值。显然无法访问model
变量![(ngModel)]
- 但也无法使用。请为此建议一个转机。
答案 0 :(得分:8)
模板:
<input type="radio" id="options1" [(ngModel)]="myRadio" value="create">
<input type="radio" id="options2" [(ngModel)]="myRadio" value="continue">
然后在组件中定义myRadio
变量并将其初始化为:
myRadio: string = ''
此变量将获得所选值。
和不使用javascript来控制Angular2中的DOM元素,这是针对angular2哲学的
答案 1 :(得分:0)
如果只有2个或3个单选选项,则最简单的选择是使用模板引用变量,如下所示:
<input #op1 type="radio" id="options1" name="function" value="create">
<input #op2 type="radio" id="options2" name="function" value="continue">
<button (click)="fn(op1.checked ? op1.value : op2.checked ? op2.value)">Run</button>