【问题标题】: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文件看看这两种方法的区别吗?

标签: javascript jquery angularjs typescript


【解决方案1】:

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

修复

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

【讨论】:

  • 谢谢你!我能够让它工作。我将我的importPopup 设为模态,它现在正在工作。
猜你喜欢
  • 2017-02-25
  • 2018-05-25
  • 2016-10-26
  • 1970-01-01
  • 2023-02-10
  • 2019-09-08
  • 1970-01-01
  • 2021-09-10
  • 2022-09-23
相关资源
最近更新 更多