从数据开始时无法识别AngularJS指令 - *

时间:2017-04-08 14:29:03

标签: javascript html angularjs angular-directive

我是AngularJS的新手。需要一些帮助我创建的指令。 这是我的HTML:

<data-table template-url="dataTable.html" info="someData"></data-table>

我在控制器中从服务器获取“someData” - directive.js:

app.directive('dataTable', function() {
 return{
    restrict: 'E',
    scope: {
        data : '=info'
    },
    link: function($scope,elem,attrs){
         ///some code here.
    },
    templateUrl : function(elem, attrs) {
        return attrs.templateUrl;
    }
});

问题是当我调试我的代码时,它来到指令不进去。 (我在chrome中使用了javascript debug)。有什么我想念的吗?限制标签是正确的,名称是否正确还需要什么?我确实看过类似的问题,但找不到任何解决方案。这是一个小提琴:Demo

1 个答案:

答案 0 :(得分:2)

您不能使用以data-*开头的指令名称,因为它由AngularJS ng core namespaces保留。只需使用其他名称开始,您就可以了。< / p>

<my-data-table template-url="dataTable.html" info="someData"></my-data-table>

你的指示:

myApp.directive('myDataTable', function() {
  return {
    scope: {
      data: '=info'
    },
    link: function($scope, elem, attrs) {
      ///some code here.
      console.log(attrs.templateUrl);
    },
    templateUrl: function(elem, attrs) {
       return attrs.templateUrl;
    }
  }
});