首页 > 解决方案 > 尽管 Angular 在本地工作正常,但在构建后不起作用

问题描述

我创建了一个简单的画廊,ngFor并在每个在本地主机上正常工作的渲染图像上添加onclick了功能,但在构建之后,每次点击都会有ERROR ReferenceError: "can't access lexical declaration `n' before initialization"

ts文件:

 images = [
   {title: 't1', src: "images/img1.jpg"},
   {title: 't2', src: "images/img2.jpg"},
   {title: 't3', src: "images/img3.jpg"}
 ]

  showImg(index) {
    console.log(index);
  }

并在 html 文件中:

<div class="container">
    <div class="row" id="imagesWrapper">
        <div class="col-12 col-sm-6 col-md-3" *ngFor="let item of images; let i = index">
            <img [src]="item.src" class="gallery-image" (click)="showImg(i)"/>
        </div>
    </div>
</div>

再次应该说它在基于 ng serve 的 localhost 上工作正常但是在构建之后我每次点击都会出错

我的控制台错误:

ERROR ReferenceError: "can't access lexical declaration `n' before initialization"
    showImg http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    Kr http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    handleEvent http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    handleEvent http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    Qp http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    Ob http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    G http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    invokeTask http://example.com/newfolder/polyfills-es2015.76d7601b4ebbcc8becab.js:1
    onInvokeTask http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    invokeTask http://example.com/newfolder/polyfills-es2015.76d7601b4ebbcc8becab.js:1
    runTask http://example.com/newfolder/polyfills-es2015.76d7601b4ebbcc8becab.js:1
    invokeTask http://example.com/newfolder/polyfills-es2015.76d7601b4ebbcc8becab.js:1
    y http://example.com/newfolder/polyfills-es2015.76d7601b4ebbcc8becab.js:1
    k http://example.com/newfolder/polyfills-es2015.76d7601b4ebbcc8becab.js:1
main-es2015.0dfa8e3b51a3bf4afbe1.js:1:52398
    br http://example.com/newfolder/main-es2015.0dfa8e3b51a3bf4afbe1.js:1
    handleError

和 main-es2015.0dfa8e3b51a3bf4afbe1.js 文件的一部分:

{title:"t3",src:this."images/img3.jpg"}]}ngOnInit(){}showImg(e){n=document.getElementById("imagesWrapper").children[e].children[0]

标签: javascriptangularbuild

解决方案


推荐阅读