当我在app app配置文件之外时,我遇到让控制器工作的问题。当我将类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行的编辑器中,路由被加下划线为错误,并显示:
找不到'路线'
在浏览器中我收到错误说:
ReferenceError:未定义路由
我做错了吗?
PS:我在日食下工作,不知道是否重要。答案 0 :(得分:0)
我做错了吗?
如果您的文件的 root 级别没有export
关键字,则表示您想要使用--out
或script
标记。
ReferenceError:未定义路由
这是一种常见的挫败感:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md#runtime-errors
在app.controller行的编辑器中,路由被加下划线为错误,并且说
这是因为您的IDE不支持简单的编译上下文支持。快速解决方法是添加reference
标记。更好的解决方法是使用tsconfig.json
文件:https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md
使用基于文件的模块:http://basarat.gitbooks.io/typescript/content/docs/project/modules.html
与需要js的运行时一起。您需要使用--module amd