Ionic2如何在页面中使用JQuery插件

Nho*_*ynh 6 jquery typescript slick.js ionic2 angular

我是离子2的新手,我创建项目并需要jquery插件链接colorbox,slick-carousel ...

我在终端上运行命令

npm install jquery slick-carousel
typings install jquery --ambient --save
typings install slick-carousel --ambient --save
Run Code Online (Sandbox Code Playgroud)

我导入了JQuery:

import * as JQuery from 'jquery';
import * as slick from 'slick-carousel';
Run Code Online (Sandbox Code Playgroud)

那么离子误差是: Can not find module 'slick-carousel'.

请帮我解决这个问题,或准备好示例,以便我参考.

谢谢大家!

小智 7

如果有人在2017年阅读此内容:

页面事件ionViewLoaded()不再有效.它是ionViewDidLoad()当前的RC4版本.

供将来参考:http: //ionicframework.com/docs/v2/api/navigation/NavController/#lifecycle-events


mor*_*tic 5

由于slick-carousel没有任何导出的模块(它只是将可链接的函数添加到jQuery),导入它的方法是不同的.这是一个最小的例子:

// app/pages/carousel/carousel.ts
import { Component } from "@angular/core";
import { NavController } from "ionic-angular";
import * as $ from "jquery";
import "slick-carousel";

@Component({
    templateUrl: "build/pages/carousel/carousel.html"
})
export class CarouselPage {

    constructor(public nav: NavController) {}

    ionViewLoaded() {
        $(".myCarousel").slick();
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我们将carousel初始化添加到ionViewLoaded()事件处理程序以确保加载DOM.然后是模板:

<!-- app/pages/carousel/carousel.html -->
<ion-navbar *navbar>
  <button menuToggle>
    <ion-icon name="menu"></ion-icon>
  </button>
  <ion-title>Carousel</ion-title>
</ion-navbar>

<ion-content padding class="carousel">
  <div class="myCarousel">
    <div>Item 1</div>
    <div>Item 2</div>
    <div>Item 3</div>
  </div>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

最后,确保通过将CSS添加到您的app/theme/app.core.scss文件来导入CSS :

@import "https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.css";
Run Code Online (Sandbox Code Playgroud)

玩得开心!