![](/img/trans.png)
[英]How can I call a function inside a class from inside a function called up by Ajax in typescript?
[英]How can I call a function inside a function in Typescript?
我有以下腳本:
/// <reference path="updateAjax.ts" />
/// <reference path="updateSetUp.ts" />
/// <reference path="../../Shared/typescript/reference.ts" />
module Admin.Grid {
export function updateField(entity: string, $link: JQuery) {
var link = new Link($link),
idArr = $link.attr("id"),
idTmp = idArr.split("_");
link.AdminParams = Admin.Shared.getAdminParams(entity),
link.Entity = entity;
link.InputFieldType = $link.attr('id').split('_')[1];
link.Row = idTmp[2],
link.PartitionKey = $("tr[id='row_" + link.Row + "']").attr('data-pk'),
link.RowKey = $("tr[id='row_" + link.Row + "']").attr('data-rk');
link.InputFieldValue = $link.is(":checkbox") ? $link.is(":checked") : $link.val(),
updateSetUp(link);
updateAjax(link);
}
}
在另一個文件中:
/// <reference path="../../Shared/typescript/reference.ts" />
module Admin.Grid {
export function updateSetUp(link: Link) {
$("#modified_" + link.Row).html('Updating');
$("#modifiedBy_" + link.Row).html('Updating');
$("#input_" + link.InputFieldType + "_" + link.Row)
.next('span').remove().end()
.after('<span class="check-waiting"></span>');
}
}
當第一個腳本編譯為 javascript 時,我看不到任何對 updateSetup(link) 或 updateAjax(link) 的調用
我正在 VS2012 中使用 Web 要素。 我沒有收到錯誤消息或紅色下划線。 據我所知,我所有的鏈接都是正確的。 刪除文件和重新創建沒有區別。
這是生成的javascript:
var Admin;
(function (Admin) {
(function (Grid) {
function updateField(entity, $link) {
var link = new Link($link);
var idArr = $link.attr("id");
var idTmp = idArr.split("_");
link.AdminParams = Admin.Shared.getAdminParams(entity) , link.Entity = entity;
link.InputFieldType = $link.attr('id').split('_')[1];
link.Row = idTmp[2] , link.PartitionKey = $("tr[id='row_" + link.Row + "']").attr('data-pk') , link.RowKey = $("tr[id='row_" + link.Row + "']").attr('data-rk');
link.InputFieldValue = $link.is(":checkbox") ? $link.is(":checked") : $link.val() , Grid.updateSetUp(link);
Grid.updateAjax(link);
}
Grid.updateField = updateField;
})(Admin.Grid || (Admin.Grid = {}));
var Grid = Admin.Grid;
})(Admin || (Admin = {}));
這些調用確實存在於編譯后的代碼中。 請注意,隨意使用逗號而不是分號會導致很長的行:
link.AdminParams = Admin.Shared.getAdminParams(entity) , link.Entity = entity;
link.InputFieldType = $link.attr('id').split('_')[1];
link.Row = idTmp[2] , link.PartitionKey = $("tr[id='row_" + link.Row + "']").attr('data-pk') , link.RowKey = $("tr[id='row_" + link.Row + "']").attr('data-rk');
link.InputFieldValue = $link.is(":checkbox") ? $link.is(":checked") : $link.val() , Grid.updateSetUp(link);
Grid.updateAjax(link); //<<<here and ... ^here^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.