单选按钮角2

单选按钮角2

问题描述:

我是新的角2单选按钮角2

我有这些单选按钮:

<input type="radio" name="jobb" value="Bonds"> 
<input type="radio" name="jobb" value="Income"> 

我想打电话myComponent的类的函数像这样的东西

<input type="radio" name="jobb" value="Bonds" (change)=doSomething()> 

其中

doSomething(){ 
console.log(`Hello`); 
} 

函数未被调用。我也尝试过(点击)。 但它不工作

+3

检查控制台中的错误。你有看到吗? – Jai

你可以通过$event.target.value作为论据如下doSomething功能取得广播值:

<input type="radio" name="jobb" value="Bonds" (change)="doSomething($event.target.value)">Bonds 
<input type="radio" name="jobb" value="Income" (change)="doSomething($event.target.value)">Income 

功能组件:

doSomething(data: any){ 
    console.log('Hello ' + data); 
} 

您可以检查Plunker :https://plnkr.co/edit/MqUD0fGCUcF7brMEx1rq

+0

OP说*函数不叫* :) – Alex

您可能错过了双引号。

(变化)= doSomething的()应为(变化)= “doSomething的()”

看一看下面plunkr中的src /测试项目-radio.ts:

@Component({ 
selector: 'test-item-radio', 
template: ` 
    <div> 
    Answer: {{ answer }} 
    </div> 
    <div class="radio" *ng-for="#option of itemData"> 
     <label>{{option.id}} 
      <input type="radio" [value]="option.id" 
        (change)="doSomething()" name="radio-list" [checked]='answer==option.id'> 
      <span>{{ option.name }}</span> 
     </label> 
    </div> 
`, 
directives: [FORM_DIRECTIVES, NgFor], 
providers: [] 
}) 
export class TestItemRadio { 

@Input() 
itemData; 

answer: string; 

constructor() { 
    console.log(this.itemData); 
    this.answer=2; 
} 

doSomething() { 
    alert('hello'); 
} 
} 

http://plnkr.co/edit/F4ukpS2lExNJvb1CYwbF?p=info

+0

'@ Component'上的'directives'现在在最新的Angular版本中已被弃用 – ranakrunal9

+0

@ ranakrunal9似乎是阿尔法版本,所以还有其他“问题”:'* ng -for =“itemData”的#选项 – Alex

变化从(改变)事件(点击),并包括在双引号函数“DoSomething的()”象下面代码

通过单选按钮的一个值从一个单选按钮区分与另一个在像函数“DoSomething的(‘债券’)”

像下面的代码

<input type="radio" name="jobb" value="Bonds" (click)="doSomething('Bonds')"> 
<input type="radio" name="jobb" value="Income" (click)="doSomething('Income')"> 

写函数在组件类

doSomething(value:string):void { 
    alert(value); 
} 

我认为这应该工作