设置 ng.其他文件中的控制器
Setup ng.IModule controller in other files
>我有以下JavaScript,我想将其转换为TypeScript,但我正在删除:(
.JS
var app = angular.module('app', []);
app.config([...]);
app.run([...];
(function (ng, app) {
app.controller('appCtrl', [..., function(...)])
})(angular, app);
这就是我目前所得到的。
TS
文件1:
/// <reference path="../Scripts/typings/angularjs/angular.d.ts" />
module App {
"use strict";
var mod:ng.IModule = angular.module(name, []);
}
文件2:
/// <reference path="../Scripts/typings/angularjs/angular.d.ts" />
module App {
'use strict';
export interface IAppCtrlScope extends ng.IScope {
greeting: string;
changeName(name): void;
}
export class AppCtrl {
public static $inject = [
'$scope'
];
constructor(private $scope: IAppCtrlScope) {
$scope.greeting = 'asdf';
$scope.changeName = (name) => {
$scope.greeting = 'Hello ' + name + ' !';
}
}
}
mod.controller('appCtrl', AppCtrl); // this doesn't work
}
在定义控制器的文件中执行mod.controller('appCtrl', AppCtrl)
的原因是因为它更容易维护。
所以解决方案非常简单。我所要做的就是导出变量。
module Application {
'use strict';
export var angularApp: ng.IModule = angular.module("app", []);
}
module Application {
'use strict';
export interface IAppCtrlScope extends ng.IScope {
greeting: string;
changeName(name): void;
}
export class AppCtrl {
public static $inject = [
'$scope'
];
constructor(private $scope: IAppCtrlScope) {
$scope.greeting = 'asdf';
$scope.changeName = (name) => {
$scope.greeting = 'Hello ' + name + ' !';
}
}
}
angularApp.controller('appCtrl', AppCtrl)
}
我会使用一个类作为控制器。有关示例,请参阅 https://youtube.com/watch?v=WdtVn_8K17E&hd=1。
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从AngularJS中的另一个文件中的控制器访问服务
- Ionic将firebase注入工厂,同时将控制器和服务保存在不同的文件中
- 将AngularJS控制器拆分为多个文件
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 如何在来自另一个文件的控制器中定义变量
- 如何在打开模型时动态加载控制器文件
- AngularJS - 一个文件中的控制器和服务
- 在使用nodejs运行服务器端时,无法加载角度控制器文件
- AngularJS - '控制器不是函数:单独的控制器文件
- 如何从路由文件中的子文件夹设置控制器文件
- Symfony2:在每个操作上调用控制器/文件
- 如何才能拥有多个控制器文件
- 如何从MVC控制器文件中使用查询组件选择extjs网格动作列
- 试图在angularjs中使用控制器,当从app.js中取出控制器代码并放入控制器文件时出错
- 使用angular.js在单独的文件夹中创建控制器文件
- javascript文件中的编码器(控制器)文件路径
- sencha控制器文件中的按钮点击不工作
- 如何使用javascript在codeigniter中查找/重定向控制器文件的路径
- 当使用两个不同的控制器文件时,局部视图ng-click不起作用