我是棱角分明的新手,当我点击每个李时,我正试图显示警报,但我收到错误
你可以告诉我如何解决它。未捕获TypeError:(t.data ||“”)。search不是函数
相关代码和示例:
http://plnkr.co/edit/M05wS03ynxX812u2MATc?p=preview&open=app%2Fapp.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
styles: [`
li {
color: red;
}
`],
template: `<ul class= "master">
<li *ngFor ="let student of liArraycontent" (click) = "liClicked(this)"> {{student}} </li>
</ul>`
})
export class AppComponent {
name = 'Angular';
liArraycontent = ["testing 1", "testing 2", "testing3"]
this.liClicked = function(e1) {
alert('a');
}
}
/*
Copyright 2017 Google Inc. All Rights Reserved.
Use of this source code is governed by an MIT-style license that
can be found in the LICENSE file at http://angular.io/license
*/
答案 0 :(得分:0)
typescript类您不需要this
。只需删除组件中的this
即可。
liClicked = function(e1) {
alert(e1);
}
当您在this
事件中使用template
时,您将获得与{javascript不同的AppComponent
。如果您想访问当前的li
元素,请改用$event.target
。
参考 Plunker demo ,希望它会有所帮助。
BTW 我没有从您提供的示例中收到错误(t.data || "").search is not a function
,也许您需要更多解释。