我有一個控制器名稱作爲字符串,我想要它的構造函數。通過角度控制器名稱訪問控制器構造函數
我目前的方法如下使用$控制器:後來
$scope.myControllerConstructor= $controller("myControllerName" , {$scope: $scope.$new()}).constructor;
,我用這種構造在這樣的HTML:
<div ng-controller="myControllerConstructor">
的問題是我的控制器運行兩個時間,有一次,當我得到的構造函數(這是錯誤的)和一次當我的HTML被編譯(這是正確的)
問題是如何獲得控制器構造函數,而不運行我T'
更新大約用例:在我們的應用中有60間%的相似性和40%不同的活動很多頁。我爲這些頁面創建了一個指令,團隊中的其他開發人員正在使用我的指令創建頁面。
該指令接受一個模板和一個控制器(我讓他們爲字符串),後來包括我所提供的模板和控制器如下:
<div ng-include="myTemplate" ng-controller="myControllerConstructor"></div>
請看一看this jsfiddle爲一個簡單的例子問題。
方法沒有多大意義。你試圖解決什麼更高水平的問題? – charlietfl
如果您使用它來進行控制器繼承,我會建議更新標題和問題以符合您的情況,這樣可以更清楚並更容易地找到它。 – estus
延遲安裝API是私有的,並且不打算被應用程序使用。濫用AngularJS框架有很多方法。以非結構化的方式使用它通常會導致一個脆弱的應用程序,這是一個維護噩夢。那麼你的用例是什麼?也許有更好的結構化方式來實現它。 – georgeawg