2017-05-04 16 views
0

私は2,000行のJQueryスクリプトを持つテンプレートを持っています。もともと私は角バージョン1でそれを得ました、それは完全にそこで動作しますが、角度4でそれをインポートすると、ドキュメントが準備ができているときにJQueryが読み込まれないようです。ファイルの最後にjQueryスクリプトがAngular v4にロードされていません

、私が持っている:たぶん

(function($) { 
    'use strict'; 
    // Initialize layouts and plugins 
    (typeof angular === 'undefined') && $.Pages.init(); 
})(window.jQuery); 

角度バージョンまたはそのような何かに関連する何か。それはまだ分かりません。

+1

ない100%必ず周りの角度のドキュメントに見た後、私の問題を修正しましたが、私はそれはですので、新しいバージョンがない場合にのみアンギュラ1は、ボンネットの下にjQueryを使用していたと思いますJQueryはもはや利用できず、あなた自身で提供しなければならない可能性があります。 – GillesC

+0

Angular 2ディレクティブでJQueryを簡単に使用できます。私は、新しいバージョンの要件に一致するinitメソッドを呼び出すいくつかの方法があると思います。 –

答えて

0

ngAfterViewInit

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

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    title = 'app works!'; 

    constructor(private _elementRef:ElementRef) {}; 

    ngAfterViewInit() { 
    var s = document.createElement("script"); 
    s.type = "text/javascript"; 
    s.src = "../assets/js/pages.js"; 
    this._elementRef.nativeElement.appendChild(s); 
    } 
} 

https://angular.io/docs/ts/latest/api/core/index/AfterViewInit-class.html

関連する問題