javascript - Angular 6,物化 : initializing javascript

标签 javascript jquery angular typescript materialize

我是 Angular 和 Materialise 的新手。我正在尝试在我的 Angular 组件中初始化一个轮播。

Materialize 提到了三种方式:

M.AutoInit();

document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.carousel');
    var instances = M.Carousel.init(elems, options);
  });

  $(document).ready(function(){
    $('.carousel').carousel();
  });

我已经通过节点安装了 Materialise。我将它的 CSS 和 JS 作为依赖项放在我的 angular.json 文件夹中。 CSS 样式有效。我已经在组件的 ngOnInit 生命周期 Hook 中尝试了这三种方法。 “M”不被识别。我尝试导入具体化:

import { materialize } from '../../../node_modules/materialize-css'

let m = materialize;

但这也没有奏效。

然后我安装了 jquery 作为依赖项并尝试了该方法,但这似乎也不起作用。

最佳答案

  • @angular/core库导入OnInit

  • 在导入下声明 const M: any;

  • ngOnInit() 生命周期 Hook 中触发 M.AutoInit() 函数

示例(其中组件名称为 MediaComponent):

import { Component, OnInit } from '@angular/core';

declare const M: any;

@Component({
  selector: 'app-media',
  templateUrl: './media.component.html',
  styleUrls: ['./media.component.scss']
})
export class MediaComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    M.AutoInit();
  }

}

关于javascript - Angular 6,物化 : initializing javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769227/

相关文章:

javascript - 未捕获的异常 : cannot call methods on slider prior to initialization; attempted to call method 'disable'

angular - Ngxs + WebSocket |如何拦截连接并添加自定义 HTTP header ?

rest - http post - 如何发送授权 header ?

javascript - 函数声明和表达式的原型(prototype)区别

javascript - 使用 extract-text-webpack-plugin 和在 HTML header 中链接合并的 CSS 文件有什么区别?

jQuery-Ui:无法将对象拖动到 Accordion 之外

当窗口不是全宽时Javascript显示光标

javascript - vue-google-map 将信息窗口设置在标记上方

javascript - 将这个和第二个参数传递给回调函数

django - CORS 在 dockerized Django REST + Angular 项目中被阻止