Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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 materialize does';nt在角度6输入中工作_Angular_Materialize - Fatal编程技术网

Angular materialize does';nt在角度6输入中工作

Angular materialize does';nt在角度6输入中工作,angular,materialize,Angular,Materialize,我将MaterializeCSS与angular 6结合使用,我的问题是,如果输入的标签从某些服务加载数据,则标签与输入的文本重叠 在他们的官方文档中,他们使用此代码修复此行为: $(document).ready(function(){ $('select').formSelect(); }); 但是,如果我在ngOnInit()甚至ngAfterViewInit()中使用此代码,它将失败,并出现以下错误: 错误TS2339:类型上不存在属性“formSelect” “JQuer

我将MaterializeCSS与angular 6结合使用,我的问题是,如果输入的标签从某些服务加载数据,则标签与输入的文本重叠

在他们的官方文档中,他们使用此代码修复此行为:

$(document).ready(function(){
    $('select').formSelect();
  });
但是,如果我在ngOnInit()甚至ngAfterViewInit()中使用此代码,它将失败,并出现以下错误:

错误TS2339:类型上不存在属性“formSelect” “JQuery”

我导入了Jquery,显然没有检测到具体化脚本。 我尝试从CDN和angular.json中导入脚本,如下所示:

 "styles": [
              "src/styles.css",
              "node_modules/materialize-css/dist/css/materialize.css"       
            ],
            "scripts": [  
              "node_modules/jquery/dist/jquery.min.js",
              "node_modules/materialize-css/dist/js/materialize.js"]
import * as $ from 'jquery';

我需要做什么来解决这个问题?看起来angular应用程序没有加载脚本,或者如果它正在加载脚本,那么调用函数还为时过早

这是因为您已经像这样导入了jquery:

 "styles": [
              "src/styles.css",
              "node_modules/materialize-css/dist/css/materialize.css"       
            ],
            "scripts": [  
              "node_modules/jquery/dist/jquery.min.js",
              "node_modules/materialize-css/dist/js/materialize.js"]
import * as $ from 'jquery';
请尝试以下方法:

$: any // declare dollar sign as a field variable

它应该工作的原因是,当您从
jquery
导入
$
时,它在jquery方法中查找
formSelect()
方法,但它是
materialize.js
方法。当您将
$
声明为
any
时,您的代码立即成功编译,因为您已将
jquery
materialize.js
添加到应用程序运行时angular.json中的脚本中,它识别
.formSelect()
关于
$

你能告诉我什么是
formSelect()
方法吗?从materialize的官方网站上,使用ECSS初始化select元素,尝试在materialize.js中搜索,但没有结果。