【问题标题】:Stepper - Angular Material - Cannot read property 'markForCheck' of undefined步进器 - 角度材料 - 无法读取未定义的属性“markForCheck”
【发布时间】:2019-03-13 23:58:15
【问题描述】:

无法使角度材料步进器正常工作。按要求显示步进器,单击标题时正在移动,但出现错误并说:

无法读取未定义的属性markForCheck

另外,当我想使用按钮指令时,会抛出一个错误,例如,

无法读取未定义的属性previous

也许有帮助

代码: 我只是从角材料页面复制粘贴默认代码:

https://material.angular.io/components/stepper/overview

我从我的主模块中加载了一个子模块中的角度材料。

也许延迟加载会导致这个问题?

版本:

"@angular/animations": "^5.1.2",
"@angular/cdk": "^5.1.2",
"@angular/common": "^5.1.2",
"@angular/compiler": "^5.1.2",
"@angular/compiler-cli": "^5.1.2",
"@angular/core": "^5.1.2",
"@angular/forms": "^5.1.2",
"@angular/http": "^5.1.2",
"@angular/material": "^5.1.2",
"@angular/platform-browser": "^5.1.2",
"@angular/platform-browser-dynamic": "^5.1.2",
"@angular/platform-server": "^5.1.2",
"@angular/router": "^5.1.2",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.25",
"@ngui/auto-complete": "^0.16.0",
"@swimlane/ngx-charts": "^6.1.0",
"@types/file-saver": "0.0.1",
"@types/lodash": "^4.14.73",
"angular-2-data-table": "^0.1.2",
"angular-datatables": "^4.2.0",
"angular2-datatable": "^0.6.0",
"angular2-multiselect-dropdown": "^1.3.6",
"angular2-promise-buttons": "^2.0.1",
"chart.js": "^2.7.0",
"core-js": "^2.4.1",
"d3": "^4.11.0",
"datatables.net": "^1.10.15",
"datatables.net-buttons": "^1.5.1",
"datatables.net-buttons-dt": "^1.5.1",
"datatables.net-dt": "^1.10.15",
"file-saver": "^1.3.3",
"hammerjs": "^2.0.8",
"jquery": "^3.2.1",
"lodash": "^4.17.4",
"ng2-charts": "^1.6.0",
"ng2-pdf-viewer": "^1.2.2",
"ng2-slimscroll": "^2.0.1",
"ngx-chips": "^1.6.2",
"ngx-cookie-service": "^1.0.7",
"ngx-dropzone-wrapper": "^4.6.0",
"rxjs": "^5.5.6",
"sweetalert2": "^6.6.8",
"web-animations-js": "^2.3.1",
"xlsx": "^0.11.5",
"zone.js": "^0.8.16"

斯蒂芬

【问题讨论】:

  • 向我们展示您的尝试,一些代码!

标签: angular angular-material


【解决方案1】:

在将我的 typescript 转换为 es6 时,我遇到了同样的问题。 Chrome 似乎无法识别 es6 模块,因此没有为材料的步进器加载必要的导入。

检查您的 tsconfig.json(不是 tsconfig.app.json)您是否将 typescript 转换为 es6?如果是这样,您可以将其更改为 es5,它现在对我有用

tsconfig.json 
{
  ...
  "compilerOptions": {
    ...
    "target": "es5",
    ...
  }
}

【讨论】:

  • 花了几个小时试图弄清楚我收到错误的原因。我的目标设置为“es2015”,将其更改为“es5”修复了它。我们只需要等待修复。
  • 我在我的项目中面临同样的问题。虽然当我在新的 angular 8 项目中添加相同的步进器时,它并没有给出错误。我什至尝试在新项目中安装我所有的项目插件。仍然无法在新的应用程序中重现它。有人找到原因了吗?
【解决方案2】:

使用 --aot 选项使错误消失,不知道为什么。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,更改 tsconfig.json 中的目标对我不起作用。但是,垂直步进器可以正常工作。

    `<mat-vertical-stepper>`
    

    【讨论】:

      猜你喜欢
      • 2022-10-24
      • 2019-05-21
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 2022-07-19
      相关资源
      最近更新 更多