AngularJS 定义controller的多种方式
时间: 2023-11-19 08:04:18 浏览: 88
在 AngularJS 中,定义 controller 的方式有以下几种:
1. 使用函数定义
可以通过 `angular.module` 函数的 `controller` 方法来定义一个 controller,如下所示:
```javascript
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', function($scope) {
// 控制器逻辑
});
```
2. 使用构造函数定义
可以通过在控制器函数上使用 `this` 关键字来添加属性和方法,如下所示:
```javascript
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', function() {
this.name = 'John';
this.sayHello = function() {
console.log('Hello, ' + this.name);
};
});
```
3. 使用 $inject 属性定义
可以在控制器函数上使用 `$inject` 属性来注入依赖,如下所示:
```javascript
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', myCtrl);
myCtrl.$inject = ['$scope'];
function myCtrl($scope) {
// 控制器逻辑
}
```
4. 使用类定义
可以通过 ES6 的类语法来定义一个 controller,如下所示:
```javascript
class myCtrl {
constructor($scope) {
this.name = 'John';
this.$scope = $scope;
}
sayHello() {
console.log('Hello, ' + this.name);
}
}
myCtrl.$inject = ['$scope'];
angular.module('myApp', []).controller('myCtrl', myCtrl);
```
阅读全文