把我的Angular代码转换成TypeScript
Convert my Angular code to TypeScript
我写Angular代码已经有一年了,我已经取得了很大的进步。现在,每个人都在大声疾呼TypeScript。有很多关于这个主题的教程和博客,但似乎没有任何一致性。这个app.js文件在TypeScript中应该是什么样子?
angular.module('angular10App', [
'ngCookies',
'ngResource',
'ngSanitize',
'ui.router',
'ui.bootstrap',
'ngStorage',
'cfp.loadingBar',
'ngAnimate'
])
.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider
.otherwise('/');
$locationProvider.html5Mode(true);
});
这个控制器应该是什么样子?我更喜欢把它排除在外,所以让我们假设我在路由配置中有'Controller as vm'。
angular.module('angular10App')
.controller('ResultsCtrl', function ($scope, $stateParams, results) {
$scope.flightType = $stateParams.flightType;
$scope.selectedAirportDep = $stateParams.from;
$scope.selectedAirportRet = $stateParams.to;
$scope.depDate = $stateParams.depDate;
$scope.arrDate = $stateParams.arrDate;
$scope.class = $stateParams.class;
$scope.adults = $stateParams.adults;
$scope.children = $stateParams.children;
$scope.results = results;
});
模块的注册基本相同
angular.module('angular10App', [
'ngCookies',
'ngResource',
'ngSanitize',
'ui.router',
'ui.bootstrap',
'ngStorage',
'cfp.loadingBar',
'ngAnimate'
])
.config($stateProvider: ng.ui.IStateProvider,
$urlRouterProvider: ng.ui.IUrlRouterProvider,
$locationProvider: ng.ILocationProvider) {
$urlRouterProvider.otherwise('/');
$locationProvider.html5Mode(true);
}
对于控制器,它应该定义为一个类
module controllers {
export interface IYourScope extends ng.IScope {
someField: boolean;
someOtherField: string;
}
export class yourController {
constructor(private $scope: IYourScope) {
$scope.someField = true;
$scope.someOtherField = "something";
}
}
}
虽然我更喜欢使用控制器,并访问控制器类的属性(我想这将导致以后更容易迁移到Angular 2.0),一些像:
module controllers {
export class yourController {
public someField: boolean;
public someOtherField: string;
constructor(private $scope: ng.IScope)
this.someField = true;
this.someOtherField = "something";
}
}
}
那么你可以注册这个控制器为always
angular.module('yourModule').controller('ctrl',controllers.yourController);
相关文章:
- 如何将TypeScript对象转换为普通对象
- 将JSON转换为typescript中的字符串数组
- 将mongoose javascript代码转换为typescript.此引用丢失
- 如何在我的模板(Angular2/TypeScript)中将HTML字符串转换为HTML
- 为什么微软开发了一种名为Typescript的新语言,而不是创建C#到Javascript的转换程序
- 将 Typescript 转换为 Javascript 最佳实践
- 转换 document.getElementById 以访问 TypeScript 中的文件
- 参数“[controllerName]”在转换为TypeScript时不是未定义的NaNunction
- 在 TypeScript 中从 DOM 属性转换为枚举
- 使用类将JSON对象强制转换为typescript类型的变量的正确方法
- 从Javascript转换为Typescript
- 有没有什么方法可以用Typescript强制转换或更改对象的定义
- 是否有可能自动将JavaScript转换为TypeScript ?
- 转换angular 1的问题.将x控制器导入TypeScript
- 使用&;this&;出错转换为Typescript后
- 无法将JavaScript注入模式转换为TypeScript
- 将Javascript函数转换为Typescript,包括getComputedTextLength()
- 将javascript关联数组转换为typescript
- 在TypeScript中将数字转换为字符串
- 如何将TypeScript转换为ES6 ?