如何在angular中使用3rd party jquery插件?

时间:2018-12-23 05:32:44

标签: javascript jquery angular attributes angular6

我正在尝试在angular应用程序中使用smooth_zoom插件。 (http://vectorflower.com/preview/smooth_zoom/index.html)。 它使用自定义的html属性,但似乎此属性无法正常工作。 如何在angular 6中使用此库和其他类似的库? 我已经将jquery和smooth_zoom.min.js添加到“ angular.json脚本路径”中 这是我的代码:homepage.html:

<div class="zoomHolder">
<img data-src="assets/images/1.png"   data-elem="pinchzoomer"/>
</div>

这是我的homepage.ts:

import { Component, OnInit } from '@angular/core';
import * as $ from 'jquery';

@Component({
 selector: 'app-home',
 templateUrl: 'home.page.html',
 styleUrls: ['home.page.scss']
})

export class HomePage implements OnInit{
 ngOnInit() {
    $(function($){
      $('#yourImageID').smoothZoom({
        width: 512,
        height: 384,
        pan_BUTTONS_SHOW: "NO",
        pan_LIMIT_BOUNDARY: "NO",
        button_SIZE: 24,
        button_ALIGN: "top right",    
        zoom_MAX: 300,
        border_TRANSPARENCY: 20,
        container: 'zoom_container'
     });
   });
 }
}

这是angular.json的一部分:

"scripts": ["src/test/jquery.min.js",
"src/test/jquery.smoothZoom.min.js"]

当我通过角度服务运行应用程序时,控制台中没有错误,并且看来jquery和jquery.smoothZoom.min.js已加载到scripts.js中。 jQuery工作正常,但jquery.smoothZoom.min.js不工作。我认为这是因为data [src和data-elem属性。此页面在angular之外效果很好,但是到目前为止我还没有运气。 我是新手,不胜感激。

1 个答案:

答案 0 :(得分:0)

将第三方js放在资产文件夹中包含资产script的任何设置路径

"scripts": [
   "src/test/jquery.min.js",
   "assets/yourpath/jquery.smoothZoom.min.js"
]

然后重新运行ng-serve并在网络中检查是否已加载js。