javascript - .modal() 函数在 Angular 8 中不起作用

标签 javascript angular typescript single-page-application angular8

点击时,"$("#Popup").modal('show')" 不起作用。

HTML

<a class="btn-profile-login" data-target="#Popup" (click)="loginBtn()">{{SignText}}</a>

TS

import { Component, OnInit, ViewChild } from '@angular/core';
import * as $ from 'jquery';
import * as bootstrap from "bootstrap"; 

export class SampleComponent implements OnInit{
    loginBtn() {
        $("#Popup").modal('show');
    }
}

错误消息:

TypeError: jquery__WEBPACK_IMPORTED_MODULE_9__(...).modal is not a function

最佳答案

您可以按照以下步骤操作

npm install jquery --save
npm install @types/jquery --save

然后在架构师 => 构建 angular.json 文件的脚本部分中,我们添加 jquery lib 的路径

"scripts": [
  "node_modules/jquery/dist/jquery.min.js"
]

然后修改tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": ["jquery"] // addd jquery here
  },
  "exclude": ["test.ts", "**/*.spec.ts"]
}

然后你可以删除这个导入,因为你已经有了 jquery 的类型定义

import * as $ from 'jquery';

关于javascript - .modal() 函数在 Angular 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57765653/

相关文章:

javascript - nedb 方法更新和删除创建一个新条目而不是更新现有条目

javascript - 单击一个元素突出显示其他元素

angular - 无法将 ngModel 绑定(bind)到 ngx-bootstrap 分页

angular - 重复声明 TypeScript Getter Setter

Typescript 生成用于简单类继承的 javascript 代码

javascript - let 是否会取代匿名闭包以拥有私有(private)变量?

javascript - 在 JavaScript 中加载 json 文件

typescript - 如何根据数组项的某些键定义新类型?

angular - Typescript + Angular 2 + ASP.Net Core 1.0 的 .html、.css 等文件应该位于哪里?

reactjs - Next.js 勒纳 monrepo : Module parse failed: Unexpected token