在许多教程中,我看到控制器被传递到这样的指令中:
.directive("mainRightPanel", function(){
return {
templateUrl: "views/partials/panels/mainRightPanel.html",
controller: function($http, $filter, $scope) {
var info = this;
$scope.authorWorks;
$http.get('test/book_data.json').success(function(data){
$scope.authorWorks= data;
});
},
}
但是,我想以不同的方式做到这一点。我没有像上面那样编写javascript,而是在指令中调用控制器时出现问题,比如
<div ng-app="mainLeftPanelModule" ng-controller="leftPanelController" class="list-group ">
这可能吗?如果是这样,以这种方式连接控制器有什么问题吗?
答案 0 :(得分:5)
您可以将ng-controller放在ng-app内的任何位置,包括指令模板内。例如,这应该工作:
.directive("mainRightPanel", function(){
return {
template: '<div ng-controller="myCtrl">The rest of your directive can go here<div>'
}
}