6

私のAngular 2アプリでAlertifyJS(v1.9.0)を動作させようとしています。vendor.ts に次のものがあります

import "alertifyjs/build/alertify.min.js";
import "alertifyjs/build/css/alertify.min.css";

alertify への次の呼び出しで

openConfirmationDialog(message: string, okCallback: () => any) {

    alertify.confirm(message, function (e: any) {
        if (e) {
            okCallback();
        } else {
        }
    });
}

しかし、エラーが発生し続けます

: Cannot find name 'alertify'.
4

9 に答える 9

0

使用できます

import alertifyjs from 'alertifyjs';

このためには、alertifyjsパッケージをインストールする必要があります

したがって、以下のコマンドを使用してください

npm i alertifyjs
于 2019-06-10T10:00:47.790 に答える
0

それは、次の 2 段階のアプローチによるものです。

// import 
import alertifyjs from 'alertifyjs';

// set for global if you wish to use outside of this file (such as Laravel app.js)
window.alertify = alertifyjs;

そのファイルでのみ使用する場合は、alertify.success()グローバル変数として設定せずにインポートして使用するだけです。

于 2019-10-17T05:13:55.067 に答える
0

アンギュラー11の場合

npm install alertifyjs --save

そして、配列のangular.json下にこれらの行を置きますstyles

"styles": [
    "node_modules/alertifyjs/build/css/alertify.min.css",
    "node_modules/alertifyjs/build/css/themes/bootstrap.min.css"
],

そして、配列の下のangular.jsonファイルの下にこの行を置きます。scripts

"scripts": [
  "node_modules/alertifyjs/build/alertify.min.js"
]

その後、という新しいサービスを作成しますalertify.service.ts

import { Injectable } from '@angular/core';
declare let alertify: any;

@Injectable({
  providedIn: 'root'
})
export class AlertifyService {

  constructor() { }
  
  confirm(message: string, okCallback: () => any) {
    alertify.confirm(message, function(e:any) {
      if (e) {
        okCallback();
      }
    });
  }

  success(message: string) {
    alertify.success(message);
  }

  error(message: string) {
    alertify.error(message);
  }

  warning(message: string) {
    alertify.success(message)
  }

  message(message: string) {
    alertify.message(message)
  }
}

このサービスapp.module.tsprovider配列に登録します

  providers: [
    AlertifyService
  ]

このサービスをコンポーネントに挿入します。

于 2020-12-25T07:34:39.837 に答える