未调用打字稿方法

Posted

技术标签:

【中文标题】未调用打字稿方法【英文标题】:Typescript method not called 【发布时间】:2016-02-18 07:28:23 【问题描述】:

我有一个导入/导出功能。

这是我的 cshtml 代码。

<a href="#" onclick="$('#importPopup').dialog('open');return false;"><img src="import.png" class="btn btn-default btn-xs" title="Importfrom file" data-toggle="tooltip" data-placement="bottom" /></a>

<a href="#" onclick="return false;" ng-click="myViewModel.ExportFile()"><img src="export.png" class="btn btn-default btn-xs" title="Export to file" data-toggle="tooltip" data-placement="bottom" /></a>

<div id="importPopup" title="Import">
    <p><input type="file" id="file_upload" name="file_upload" /></p>
    <p><input type="button" class="_button" value="Import File" ng-click="myViewModel.ImportFile()" /></p>
</div>

现在我的打字稿代码有两个函数。

public ImportFile() 
    // some codes here


public ExportFile() 
    // some codes here

我的问题是我的ImportFile 函数没有被击中。我试图在它们两个上都设置两个断点,ExportFile 可以工作,但ImportFile 不行。

我在这里错过了什么?

【问题讨论】:

您的网页控制台有错误吗? 不,我在控制台上找不到任何东西。 可以查看生成的js文件看看这两种方法的区别吗? 【参考方案1】:

麻烦是$('#importPopup').dialog('open');。这意味着 html 是由引导程序呈现的,并且不会通过角度 $compile 进程。因此ng-click 没有设置。

修复

使用类似 Angular-BootStrap-Modal 的东西:https://angular-ui.github.io/bootstrap/#/modal

【讨论】:

谢谢你!我能够让它工作。我将我的importPopup 设为模态,它现在正在工作。

以上是关于未调用打字稿方法的主要内容,如果未能解决你的问题,请参考以下文章

带有猫鼬的打字稿:无法读取未定义的属性“CasterConstructor”

打字稿方法返回未定义的方法装饰器

打字稿:未找到导出/JSX 元素类型没有任何构造或调用签名

Angular 1.5 $onInit 未触发 - 打字稿

捕捉打字稿语法错误:if 语句和类方法调用

如何在 Loopback 4(打字稿)中调用具有依赖注入的类的方法?