参考错误:在“ onclick”中未定义变量

时间:2019-07-16 17:12:40

标签: angular typescript

我正在创建多个按钮,每个按钮都连接到一个唯一的模式元素。我想用他们的身份证。我无法从打字稿文件中引用变量。

我无法访问函数的实现,但是我知道它可以工作;当传递一个硬编码的“ 0”时,没有抛出错误,并且每个按钮都打开第一个模式。 索引已正确传递给孩子。 我已经尝试过插值,但是出于安全原因会导致错误。 我尝试使用(click)代替onclick,但这在该行的功能上效果不佳。

parent.html

<ul class="example" *ngFor="let v of vs, let i = index">
   <child-component
       [index]="i">
   </child-component>
</ul>

child.html

<button
    type="submit"
    id="button{{index}}" //interpolation works here
    class="updatebtn"
    onclick="function(this, index)"> //problem line
</button>
<div id="{{index}}" class="special-modal">item {{index}}</div>

child.ts

export class childComponent implements OnInit {
    @Input() index: string;
}

当前收到ReferenceError:HTMLButtonElement.onclick上未定义索引。

1 个答案:

答案 0 :(得分:0)

我不知道您的代码甚至如何编译独立的说法:“索引已正确传递给孩子”。首先,没有@input()装饰器,它将是@Input()。然后,您还需要编写<child-component [index]="i">