我一直在使用TypeScript與Angular半年。當我需要的東西添加到$範圍,我按照定義這樣的接口的恕我直言最佳實踐:TypeScript - 將新屬性添加到類型化對象而不聲明新界面的最佳語法?
interface IMyScope extends ng.ISCope {
myAddedProp:string;
}
...
link:($scope:IMyScope){
$scope.myAddedProp = "foo";
}
不過,有時候它仍然是方便的屬性添加到$範圍對飛(主要是當我進行原型設計時)。對於這些情況,我通常做這樣的事情:
link:($scope:IScope){
(<any>$scope).myAddedProp = "foo";
//or
$scope["myAddedProp"] = "foo";
//If I have to add many props, I use this:
var $scopeA: any = $scope;
$scopeA.myAddedProp1 = "foo";
$scopeA.myAddedProp2 = "bar";
$scopeA.myAddedProp3 = "baz";
}
我也有在和的NodeJS其他圖書館這個問題 - 當你只需要添加一些屬性,不希望與接口打擾。
SO搜索提供了所有這些選項,但是沒有更好的方法來實現它嗎?類似於
$scope*.newProp = "foo";
?
你可以做'$範圍[「myAddedProp」] =「富」;' – WiredPrairie
你已經涵蓋了所有的基本上可用的選項。 –