我在控制器在我的應用程序配置文件之外時工作有問題。當我把類testCtrl(幾乎沒有修改 - 刪除模塊,導出和靜態字段)到配置文件它工作正常。如何將控制器放在外部文件中
這是我的外部控制器文件ctrl.ts:
module routing.Controllers
{
export class testCtrl
{
static $inject = ["$scope"];
constructor($scope : any)
{
$scope.events = this;
}
showAlert()
{
alert('Clicked');
}
}
}
這是我的文件,配置routing.ts:
declare var angular: any;
var app = angular.module("routing", ['ngRoute']);
app.controller('Test', routing.Controllers.testCtrl);
app.config(($routeProvider) => {
$routeProvider
.when('/index',{ templateUrl: 'views/LogIn.html',controller:'Test' })
.otherwise({ redirectTo: '/index' });
})
在app.controller線編輯器中的路由下劃線作爲錯誤,它說:
Could not find 'routing'
而在瀏覽器中我得到錯誤說:
ReferenceError: routing is not defined
我做錯了什麼? PS:我在eclipse下工作,不知道它是否重要。
所以如果我想進口類,我應該使用進口{} testCtrl從「./controllers/ctrl」; (ctrl.ts是在控制器文件夾內)? (它告訴我這個文件不是一個模塊) –