Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular next.materialize初始化而不使用jQuery_Angular_Materialize - Fatal编程技术网

Angular next.materialize初始化而不使用jQuery

Angular next.materialize初始化而不使用jQuery,angular,materialize,Angular,Materialize,今天我访问了materializecss的1.0 alpha版本,我使用Angular和一些需要jQuery初始化的组件,如 Doc表示可以通过以下方式对其进行初始化: var elem = document.querySelector('.sidenav'); var instance = new M.Sidenav(elem, options); 而不是我目前使用的jQuery方式: $(document).ready(function(){ $('.sidenav')

今天我访问了materializecss的1.0 alpha版本,我使用Angular和一些需要jQuery初始化的组件,如

Doc表示可以通过以下方式对其进行初始化:

  var elem = document.querySelector('.sidenav');
  var instance = new M.Sidenav(elem, options);
而不是我目前使用的jQuery方式:

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

我怎样才能做到这一点?M是什么?也许我需要一个新方法的示例…

首先,您需要在
index.html
文件的顶部或
angular cli.json
文件中添加CSS和JS导入

之后,您需要声明一个全局变量

declare var M: any;
然后你可以用它

更详细地说:

angular cli.json

"styles": [
  "../node_modules/PATH/TO/MATERIALIZE.css"
],
"scripts": [
  "../node_modules/PATH/TO/MATERIALIZE.js"
],
组件内部

// Imports
import { ... } from '...';

// Here you declare the M
declare var M: any;

// Then you have the component
@Component({...})
export class ExampleComponent implements onInit { ... }

非常感谢你!我错过了“M”的声明,这是我能找到的唯一能指出这一点的答案。