文件需要引用angular.d.ts。此外,用於設置值的代碼不正確。例如,它應該是public restrict = "E";
而不是restrict: "E"
。冒號告訴Typescript它是一個類型定義。
我很好奇,爲什麼我需要angular.d.ts引用以及爲什麼tds.d.ts不起作用,因爲它反過來會引用angular.d.ts。在每個角度文件的頂部添加對d.ts文件的引用是否是典型的?如果是這樣的話,我的項目可能會超過150個angularjs文件。
這裏是最後的工作代碼:
///<reference path="../../../typings/angularjs/angular.d.ts" />
module eStore.PromoCode {
export class PromoCodeDirective implements ng.IDirective {
public restrict = "E";
public templateUrl = "Scripts/Checkout/PromoCode/promoCode.html";
public scope = {};
public controller = "PromoCodeController as vm";
static factory(): ng.IDirectiveFactory {
return() => new PromoCodeDirective();
}
}
angular.module("eStoreCheckout").directive("dccPromoCode", PromoCodeDirective.factory());
}
嘗試引用angular.d.ts –
已嘗試了,我得到一個工具提示說不必要的重複引用。對angular.d.ts的引用在tsd.d.ts中 –
從github檢查你的ts編譯器版本和angular.d.ts版本 –