错误TypeError:“ jit_nodeValue_3(...)。toggle不是函数”

时间:2019-11-12 05:34:53

标签: javascript node.js angular typescript single-page-application

我正在做一个Angular项目。我想添加一个月选择器,该选择器会在导航栏上单击文本字段时打开。我正在使用primeng<p-calendar>之类的<p-overlay>组件。它本身就是一个巨大的项目,我必须添加calendar小部件。因此,我仅向您展示我的部分代码。

navigation.component.html

<div class="dls-menu-item" style="float: right; margin-right: 200px;">
    <input type="text" (click)="op.toggle($event)">
</div>

<p-overlayPanel #op>
  <div id="comp-render">
    <div class="all-container">
      <p>Time selection</p><br>
      <div>
        <p-calendar view="month" dateFormat="mm/yy"...></p-calendar>
      </div>
      <br>
    </div>
  </div>
</p-overlayPanel>

但是,当我单击输入字段时,出现此错误: the PEP that introduced them

我对这个错误的研究表明,它与MD Bootstrap有关。但是enter image description here答案对我不起作用。我也尝试了this技术,但是它没有达到我们想要的方式。我的发现表明(click)="op.toggle($event)是根本原因。请告诉我如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

对不起,您可以尝试创建Types.d.ts并将此代码放到这里吗?

interface JQuery<any> {
    tooltip(params: any): any;
}

然后在您的tsconfig.json中

"typeRoots": [
            "node_modules/@types",
            "src/typings.d.ts" // add here
        ],

答案 1 :(得分:1)

当您尝试从非主要元素触发 popover 切换时会发生这种情况。看来您需要将 pInput 添加到输入(或 div 并移动点击处理程序),然后它就会起作用。

<div class="dls-menu-item" style="float: right; margin-right: 200px;">
    <input type="text" (click)="op.toggle($event)" pInput><!--Add pInput-->
</div>

<p-overlayPanel #op>
  <div id="comp-render">
    <div class="all-container">
      <p>Time selection</p><br>
      <div>
        <p-calendar view="month" dateFormat="mm/yy"...></p-calendar>
      </div>
      <br>
    </div>
  </div>
</p-overlayPanel>