发展这项工作!!
生产模式出现此错误!!
如果删除FocusEvent,则会出现相同的错误。
Cannot read property 'value' of undefined
at e.preSaveMac (main.bundle.js:1)
at Object.handleEvent (main.bundle.js:1)
at Object.handleEvent (main.bundle.js:1)
at Object.handleEvent (main.bundle.js:1)
at Ji (main.bundle.js:1)
at main.bundle.js:1
at t.r [as _next] (main.bundle.js:1)
at t.__tryOrUnsub (main.bundle.js:1)
at t.next (main.bundle.js:1)
at t._next (main.bundle.js:1)
preSaveMac(event:FocusEvent){
this.additionSearchMAC = event.srcElement.parentElement.attributes["ng-reflect-model"].value;
$(event.srcElement).val(this.additionSearchMAC);
}
答案 0 :(得分:1)
ng-reflect-model
属性仅在开发模式下呈现,并且仅用于调试目的(请参见What does the "ng-reflect-*" attribute do in Angular2/4?)
因此,您不应尝试在应用程序的代码中访问它们。
您似乎正在尝试访问ngModel的1)当前组件或2)某些父组件。
如果为1,则直接使用您在模板中引用的变量(例如([ngModel])=myVar
表示您可以使用this.myVar
在组件代码中访问它)
如果2)将ngModel
向下传递到您要通过@Input()
使用的组件。
顺便说一句:在角度中使用jquery的val()
函数为表单控件设置值很可能是不好的做法(如果可能,请改用ngModel或FormControl)。