我正在使用ui-router来路由我的应用。在ui-router上我可以定义像
这样的控制器myApp.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/state1");
//
// Now set up the states
$stateProvider
.state('state1', {
url: "/state1",
templateUrl: "partials/state1.html"
})
.state('state1.list', {
url: "/list",
templateUrl: "partials/state1.list.html",
controller: function($scope) {
$scope.items = ["A", "List", "Of", "Items"];
}
})
在这里你可以看到ui-router状态对象上的控制器定义。
我的问题是,更常见的是,定义角度控制器或ui-router控制器?
angular.module('controllerExample', [])
.controller('SettingsController2', ['$scope', SettingsController2]);
答案 0 :(得分:1)
'什么更常见'是一个非常广泛的问题,但是。
要考虑的事情很少:
最后,更好的做法是将所有内容置于有组织的1位并且不分割控制器定义,因此如果要从两种方法中进行选择,不要将控制器内联定义。< / p>
答案 1 :(得分:1)
我不能说什么更常见,为什么要使用第二种方法。
首先,如果我们将控制器声明为SettingsController2
(对象/函数),我们可以多次使用它。
其次,这种方法创建了一个真实的类型,一旦你观察了pefromance工具(内存分析器),以后可以很容易地追踪(找到)
最后,如果我们使用JS++
或Typescript
之类的AtScript
,我们可以轻松使用继承甚至其他功能......
所以如果可能的话,不要使用内联def