2016-12-09 3 views
1

часть углового-cli.jsonугловые-кли выбраны Jquery

"styles": [ 
    "styles.css", 
    "../node_modules/font-awesome/css/font-awesome.css", 
    "../node_modules/bootstrap/dist/css/bootstrap.min.css", 
    "../node_modules/bootstrap-daterangepicker/daterangepicker.css", 
    "../node_modules/bootstrap-chosen/bootstrap-chosen.css" 
], 
"scripts": [ 
    "../node_modules/hammerjs/hammer.min.js", 
    "../node_modules/jquery/dist/jquery.min.js", 
    "../node_modules/bootstrap-chosen/dist/chosen.jquery-1.4.2/chosen.jquery.js" 
    ], 

blaBla.component.html

<div class="col-lg-3"> 
    <select appChosen multiple data-placeholder="Choose a Country" class="chosen chzn-done" tabindex="2"> 
     <option value=""></option> 
     <option value="United States">United States</option> 
     <option value="United Kingdom">United Kingdom</option> 
     <option value="Afghanistan">Afghanistan</option> 
    </select> 
</div> 

blaBla.directive.ts

import { Directive, ElementRef } from '@angular/core'; 
import * as $ from 'jquery'; 

@Directive({ 
    selector: '[appChosen]' 
}) 
export class ChosenDirective { 

    constructor(private el: ElementRef) {} 
    ngAfterViewInit() { 
     $(this.el.nativeElement).chosen({ allow_single_deselect: true }); 
    } 
} 

выбрано не работа погрешность в пульте:

__WEBPACK_IMPORTED_MODULE_1_jquery __ (...). Выбран не является функцией

но $('.chosen').chosen(); работает в хром Дев инструментов.

Как это можно исправить?

ответ

0

я найти решение здесь https://github.com/angular/angular-cli/issues/2760

благодаря twmobius

так вот она: угловой cli.json

"scripts": [ 
    "../vendor.ts" 
    ], 

vendor.ts

import * as $ from 'jquery'; 
window['$'] = window['jQuery'] = $; 
require('./node_modules/chosen-js/chosen.jquery.js'); 
+0

требуют не определяется/..? –