Angularjs +无法调用指令代码

时间:2014-01-26 08:16:20

标签: angularjs angularjs-directive

对于angularJS来说是新手,并且我无法弄清楚为什么没有调用该指令 我有app的独立js文件控制器,app的独立js文件指令;试图为每个文件创建单独的文件;

Plunker Link of the code

HTML代码

<vertical-table data='fieldsList'></vertical-table>

控制器代码

app.controller('MainCtrl', function($scope) { $scope.fieldsList =[{},{},{}]; });

指令代码

angular.module('plunker').directive('verticaltable', function () {
  console.log("field list initialzed");
    return{
        restrict: 'AE',
        template: 'table.html',
        replace: true,
        transclude: true,
        scope : {
            data: "="
        },
        controller: function($scope, $elem){
          console.log("controller");

        },
        link:function($scope, elem){
          console.log("link");
        }
    };
});

1 个答案:

答案 0 :(得分:1)

要解决一些错误:

angular.module('plunker').directive('verticalTable', function () {
      console.log("field list initialzed");
        return{
            restrict: 'AE',
            templateUrl: 'table.html',
            replace: true,
            transclude: true,
            scope : {
                data: "="
            },
            controller: function($scope){
              console.log("controller");

            },
            link:function(scope, elem){
              console.log("link");
            }
        };
    });
  • 使用templateUrl代替template
  • .directive('verticaltable'替换为.directive('verticalTable',(请注意表中的大写字母T)
  • 删除指令控制器中的$elem参数,因为您没有名为$elem的服务。

DEMO