简体   繁体   English

添加超链接标记后的Aurelia视图模型显示错误

[英]Aurelia view model showing error after adding hyperlink tag

I am using Aurelia Dialog Service for model pop up, when i use hyperlink tag inside view model (model popup), it is showing error as Message: Maximum call stack size exceeded 我正在使用Aurelia对话框服务弹出模型,当我在视图模型(模型弹出窗口)中使用超链接标记时,它显示错误消息:消息:超出最大调用堆栈大小

Here is the code:- 这是代码:-

HomePage.ts HomePage.ts

import { autoinject, observable,PLATFORM } from 'aurelia-framework'; 
import { DialogController, DialogService } from 'aurelia-dialog';
import { PreviewWorkbook } from './../../components/preview-workbook/preview- workbook';
@autoinject
   constructor(private _lg: AppLogger, private _dlgs: DialogService,
     ) {  }
public PreviewMenu(e: Event): void { 
    this._dlgs.open({
        viewModel:  PreviewWorkbook, model: Workbooks
    }).whenClosed(rsp => {
        this._lg.log("Preview Menu Cancelled");
    });
}

when i click on PreviewMenu() in homepage.html i am getting below error 当我单击homepage.html中的PreviewMenu()时,出现以下错误

在控制台中

PreviewWorkbook HTML page:- PreviewWorkbook HTML页面:-

<template>
<ux-dialog>
    <ux-dialog-header>
       Preview WorkBook
    </ux-dialog-header>
    <ux-dialog-body>
        <div repeat.for="workbook of workbooks">
            <a href="${workbook.Link}"> ${workbook.Name} </a>
        </div>          
    </ux-dialog-body>
    <ux-dialog-footer>
        <button class="btn btn-info" click.delegate="save()">Save</button>
        <button class="btn btn-default" click.delegate="cancel()">Cancel</button>
    </ux-dialog-footer>
</ux-dialog>

If i just use just ul,li to bind the values it is working fine. 如果我只使用ul,li来绑定值,则工作正常。

Adding an anchor tag in dialog body causes infinite loop or Maximum call stack size exceeded. 在对话框主体中添加锚标记会导致无限循环或超出最大调用堆栈大小。

Solution: 解:

In HomePage.ts 在HomePage.ts中

I tried to modify the code by adding the below line in the constructor: 我试图通过在构造函数中添加以下行来修改代码:

constructor(private controller: DialogController) {
PLATFORM.moduleName('./../../components/preview-workbook/preview-Workbook');
}

So in HomePage.ts 所以在HomePage.ts中

import { autoinject, observable,PLATFORM } from 'aurelia-framework'; 
import { DialogController, DialogService } from 'aurelia-dialog';
import { PreviewWorkbook } from './../../components/preview-workbook/preview-Workbook';
@autoinject
constructor(private _lg: AppLogger, private _dlgs: DialogService) {
PLATFORM.moduleName('./../../components/preview-workbook/preview-Workbook');
}
    public PreviewMenu(e: Event): void { 
    this._dlgs.open({
    viewModel:  PreviewWorkbook, model: Workbooks
}).whenClosed(rsp => {
    this._lg.log("Preview Menu Cancelled");
});
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM