Javascript 在Angular 2应用程序中使用jquery插件

Javascript 在Angular 2应用程序中使用jquery插件,javascript,jquery,angular,angular-cli,Javascript,Jquery,Angular,Angular Cli,我正在尝试在我的ng-2应用程序中使用这个jQuery插件。我知道这并不是一个好的实践,但我还没有发现ng2本地编写的类似程序(我需要拖放html表单生成器)。 那么我应该选择什么方法呢?用ng2组件包装jquery插件,如下所示: import { Component, OnInit, ViewChild, AfterViewInit, ElementRef } from '@angular/core'; import * as jQuery from 'jquery'; import ".

我正在尝试在我的ng-2应用程序中使用这个jQuery插件。我知道这并不是一个好的实践,但我还没有发现ng2本地编写的类似程序(我需要拖放html表单生成器)。 那么我应该选择什么方法呢?用ng2组件包装jquery插件,如下所示:

import { Component, OnInit, ViewChild, AfterViewInit, ElementRef } from '@angular/core';

import * as jQuery from 'jquery';
import "../../../node_modules/formBuilder/dist/form-builder.min.js"

@Component({
  selector: 'form-builder',
  template: '<div class="build-wrap></div>"'
  styleUrls: ['./form-builder.component.css']
})
export class FormBuilderComponent implements AfterViewInit {
  formBuilderElement: any;

  constructor(private elementRef: ElementRef) { }

  ngAfterViewInit() {
    this.formBuilderElement = jQuery(this.elementRef.nativeElement).find('.build-wrap');
    this.formBuilderElement.formBuilder();
  }

}
"styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css",
    "../node_modules/formBuilder/dist/form-builder.min.css",
    "../node_modules/formBuilder/dist/form-render.min.css"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.min.js",
    "../node_modules/formBuilder/dist/form-builder.min.js",
    "../node_modules/formBuilder/dist/form-render.min.js"
  ]
此项目是使用angular-2-cli生成的,因此我已将所有必要的文件包括在angular-cli.json中,如下所示:

import { Component, OnInit, ViewChild, AfterViewInit, ElementRef } from '@angular/core';

import * as jQuery from 'jquery';
import "../../../node_modules/formBuilder/dist/form-builder.min.js"

@Component({
  selector: 'form-builder',
  template: '<div class="build-wrap></div>"'
  styleUrls: ['./form-builder.component.css']
})
export class FormBuilderComponent implements AfterViewInit {
  formBuilderElement: any;

  constructor(private elementRef: ElementRef) { }

  ngAfterViewInit() {
    this.formBuilderElement = jQuery(this.elementRef.nativeElement).find('.build-wrap');
    this.formBuilderElement.formBuilder();
  }

}
"styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css",
    "../node_modules/formBuilder/dist/form-builder.min.css",
    "../node_modules/formBuilder/dist/form-render.min.css"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.min.js",
    "../node_modules/formBuilder/dist/form-builder.min.js",
    "../node_modules/formBuilder/dist/form-render.min.js"
  ]

我做错了什么

如果您不想在angular中使用jquery,那么通过文档加载它不会影响angular应用程序的运行。