[英]Accessing prototype function from another Javascript file keeps returning 'undefined'
我已經研究了幾個小時,查看Javascript原型訪問另一個原型函數 , 訪問Javascript原型函數 , 從另一個(包括自身)觸發一個原型函數 , 無法從另一個函數調用 3-4左右的原型方法其他類似的問題,並以為“好,那看起來還不錯”,並為我的特定問題實施了一個(或三個)解決方案。 還是我曾經想過!
我有一個JS文件(從Typescript編譯),該文件包含一個AppComponent類和幾種方法(縮短版本針對我的特定麻煩):
AppComponent = (function () {
function AppComponent() {
var _this = this;
this.gridNo = '1';
//... and so on...
}
AppComponent.prototype.MenuSelect = function (link) {
this.tabCount = 0;
this.tables = [];
utils_1.Logging(' MenuSelect: ' + JSON.stringify(link));
var grids = link.grids;
this.ws.emit('C:GDRDN', { ds: grids });
// build up some HTML to make a table of data and return it to
// the caller
return "grid stuff!";
};
.
.
.
}
上面的代碼已加載到Angular 2 / Node(由另一位同事編寫)中,並且在其編寫的上下文中運行良好:即,當從該同事編寫的其他組件中調用時,它顯示數據表(“網格”) TypeScript中的工作人員。
但是,當我生成菜單並嘗試直接從另一個“普通” JS文件訪問MenuSelect原型時,就像這樣……
function createWHeelNavigation() {
basic.navigateFunction = function () {
var grids_selected = [ 4, 11 ];
var appcomp = new AppComponent();
output = appcomp.MenuSelect(grids_selected);
// minified.js function to add children content to a DOM element
$("grid_container").add(output);
}
// other navigation menu functions...
}
createWHeelNavigation();
......我繼續得到“未捕獲的ReferenceError:AppComponent沒有定義”當我點擊特定的 “基本”菜單項,即使根據我讀過的SO和其他地方創造的一個“新”的實例目的是訪問它的原型方法的方式 。
因此,在我拔出頭發回到辦公室角落的小巷中,低聲說“媽媽……”之前,我想我會把這件事傳遞給你們,好人,看看我要怎么做。 我有點懷疑我應該在某個地方使用“ this”,但是我的眼睛在交叉,希望朝正確的方向指向。 謝謝你的時間!
我繼續收到“未捕獲的ReferenceError:未定義AppComponent” w
一個常見的JavaScript訂購問題。 確保以正確的順序加載js / ts。
請盡可能使用模塊。 https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.