import {Component,ElementRef,OnInit} from 'angular2/core'; declare var jQuery:any; @Component({ selector: 'jquery-integration',templateUrl: './components/jquery-integration/jquery-integration.html' }) export class JqueryIntegration implements OnInit { elementRef: ElementRef; constructor(elementRef: ElementRef) { this.elementRef = elementRef; } ngOnInit() { jQuery(this.elementRef.nativeElement).draggable({ containment:'#draggable-parent' }); } }
jQuery可以像Angular2中的TypeScript一样使用吗?如何在Angular2中使用jQuery与JavaScript?
解决方法
在我看来,如果你这样做是正确的,如果你保持最小,你应该去.
>在项目中安装jQuery Typings:tsd install jQuery
>使用脚本标签(或其他装载程序…)加载jQuery
>使用Angular 2指令包装任何jQuery插件
例:
@Directive({ selector: "[sm-dropdown]" }) export class SMDropdown { constructor(el: ElementRef) { jQuery(el.nativeElement).dropdown(); } }
考虑这个Plunker:
https://plnkr.co/edit/MMNWGh?p=preview
别:
>不要使用它来进行DOM操作,有Angular方式…>不要用于AJAX调用,有Angular方式…>不要将其用于动画,ngAnimation即将到来