使用带有Ionic2 + typescript

时间:2016-08-21 06:03:56

标签: angular ionic2 camanjs

我试图将camanjs用于我的ionic2 +打字稿项目。

我还查看了Ionic and Typings blog post by Mike,但是它显示了添加已经在打字中的库

然后我找到了使用CDN方法的this blog post from josh on adding goole maps

通过跟随他们两人到目前为止我已经完成了,

通过CDN将camanjs添加到index.html文件

#index.html
<script src="https://cdnjs.cloudflare.com/ajax/libs/camanjs/4.1.2/caman.full.js"></script>
<script src="cordova.js"></script>
...

以下是我的ts文件

#home.ts 
import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';

declare var Camanjs: any;

@Component({
  templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
  constructor(public navCtrl: NavController) {
  }

  addFilter(){
     Camanjs("#image", function(){
       this.sinCity();
       this.render();
     })
  }
}

和我的html文件。 (当用户单击我想要应用过滤器的按钮时)

#home.html
<ion-header>
  <ion-navbar>
    <ion-title>
      Ionic Blank
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <button (click)="addFilter()">Filter</button>
  <img id='image' src="https://d339b5nop2tkmp.cloudfront.net/uploads/pet_photos/2016/7/13/469479_e76aa_340x340_af1c8.jpg">
</ion-content>

但是当我点击addFilter()时,我收到以下错误

browser_adapter.js:84 ReferenceError: Camanjs is not defined
    at HomePage.addFilter (home.ts:14)
    at DebugAppView._View_HomePage0._handle_click_13_0 (HomePage.template.js:201)
    at view.js:375
    at dom_renderer.js:254
    at dom_events.js:27
    at ZoneDelegate.invoke (zone.js:323)
    at Object.onInvoke (ng_zone_impl.js:53)
    at ZoneDelegate.invoke (zone.js:322)
    at Zone.runGuarded (zone.js:230)
    at NgZoneImpl.runInnerGuarded (ng_zone_impl.js:86)

但是我没有通过IDE或编译时得到任何编译器错误,任何帮助将不胜感激。

请注意my previous question

的扩展/更详细版本

1 个答案:

答案 0 :(得分:1)

而不是使用Camanjs...尝试:

Caman('#my-image', function () {
  // ...
});

因此,只需Camanjs替换Caman就可以调用该库上的方法。