AngularJS:为每个指令初始化一个控制器

时间:2014-12-03 15:32:50

标签: javascript html angularjs

我正在尝试创建一个指令'pForm',以便我可以通过标签轻松地在html页面内创建表单实例:

<p-form></p-form>

每个表单都包含模板:templates / form.html 连接到模块'forms'中控制器'form'的实例。

话虽如此,这是我试图接近它的方式:

主要模块(在依赖项 - 表单模块中):

angular.module('mainModule', ['forms'])

.controller('MainController', ['$scope', function($scope) {

}]);

表单模块:

angular.module("forms", [])

.controller("form", ['$scope', function($scope) {
    alert("init");
}])

.directive('pForm', function() {alert('directive');
    return {scope: {data: '=data'}, templateUrl: 'templates/form.html'};
});

html文件在ng-app =“mainModule”中,我在html的正文中放置如下:

<p-form></p-form>

警报'指令'有效,但控制器未实例化(没有“初始化”警报)。

我想我的指令概念有些倒退。请让我知道你的想法。

1 个答案:

答案 0 :(得分:1)

将您的指令更改为:

.directive('pForm',function(){alert('directive');
return {
    scope:{
       data: '=data'
    },
   templateUrl:'templates/form.html',
   controller: 'form'
};
});

将控制器与指令

相关联