2015-03-31 129 views
2

我想知道如何訪問同一類內的私人靜態字段,假設類不是導出打字稿訪問同一類內的私人靜態字段

module Test { 
    class Template { 
     private static ext = '.hbs'; 
     private static basePath = 'WebContent/templates/'; 
     private static templatesFolder = 'templates'; 
     private static partialsFolder = 'partials'; 
     private static paymentMethodsFolder = 'paymentMethods'; 

     public static template(templateName, data): string{ 
      return Handlebars.templates[Test.Template.basePath + this.templatesFolder + '/' + templateName + this.ext]; 
     } 
    } 
} 

我不知道如何訪問static template函數中的靜態變量。我不想導出類,因爲我想封裝邏輯,所以它在瀏覽器中不可用。

這是怎麼回事?我從this開始,因爲它起初不是靜態的,但我改變了主意,現在我被卡住了。

回答

2

在這種情況下,你可以只輸入類名像下面(所以你現在有,但沒有模塊名稱相同的(測試)

Handlebars.templates[Template.basePath + Template.templatesFolder + '/' + templateName + Template.ext]; 

你現在不能從外部訪問public static template功能模塊,因爲它在沒有導出的類中

如果您將該功能從模塊中的類中移出,而不是public static使其成爲export function,您可以將它稱爲模塊外部,它應該可以正常工作。

+0

這很容易,我知道它必須是可能的,只是忘了該怎麼做!謝謝。 – Vadorequest 2015-03-31 13:52:31