【发布时间】:2015-09-08 12:45:18
【问题描述】:
哪一种是定义指令控制器的最佳方式。我提到了一些他们解释 Option1 的网站。
选项 1:
angular.module('app')directive('AppHeader', AppHeader);
function AppHeader() {
var headerDirective = {
restrict: 'E',
templateUrl: 'header.html',
link: linkFunc,
controllerAs: 'vm',
controller: NavCtrl
};
return headerDirective;
function linkFunc(scope, element, attrs) {
/* */
}
}
NavCtrl.$inject = ['$scope', 'Service'];
function NavCtrl($scope, Service) {
var vm = this;
/* Controller actions */
}
以上代码中Controller与指令功能块分离。
选项 2:
angular.module('app').directive('AppHeader', AppHeader);
function AppHeader()
{
var headerDirective = {
restrict: 'E',
templateUrl: 'header.html',
link: linkFunc,
controllerAs: 'vm',
controller: NavCtrl
};
return headerDirective;
function linkFunc(scope, element, attrs) {
/* */
}
NavCtrl.$inject = ['$scope', 'Service'];
function NavCtrl($scope, Service) {
var vm = this;
/* Controller actions */
}
}
在上面的代码中Controller添加在指令功能块中。
那么哪一个是创建和定义指令控制器的最佳实践以及为什么。提前致谢。
【问题讨论】:
标签: javascript angularjs angularjs-directive controller