类型“ EventTarget”上不存在属性“ parentElement”

时间:2019-08-02 12:09:25

标签: typescript angular5

发展这项工作!!

生产模式出现此错误!!

如果删除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); }

1 个答案:

答案 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)。