Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数据开始时未识别AngularJS指令-*_Javascript_Html_Angularjs_Angular Directive - Fatal编程技术网

Javascript 从数据开始时未识别AngularJS指令-*

Javascript 从数据开始时未识别AngularJS指令-*,javascript,html,angularjs,angular-directive,Javascript,Html,Angularjs,Angular Directive,我是安格拉斯的新手。我需要一些关于我创建的指令的帮助。 这是我的HTML: <data-table template-url="dataTable.html" info="someData"></data-table> 问题是,当我调试代码时,它到达指令by而不是进入内部。(我在chrome中使用了javascript调试)。有什么我不知道的吗。限制标签正确,名称正确,还需要什么?我确实看过类似的问题,但没有找到任何解决办法。这里有一个小问题:您不能使用以data-*开

我是安格拉斯的新手。我需要一些关于我创建的指令的帮助。 这是我的HTML:

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

问题是,当我调试代码时,它到达指令by而不是进入内部。(我在chrome中使用了javascript调试)。有什么我不知道的吗。限制标签正确,名称正确,还需要什么?我确实看过类似的问题,但没有找到任何解决办法。这里有一个小问题:

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

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

我认为指令的语法是错误的。你能指出我犯错误的地方吗@HJz
templateUrl
应该是一个字符串,因此,您的指令可能已加载,但它就是找不到模板。我在返回语句的指令中添加了一个断点。它不仅仅是进来的。函数返回一个字符串,即attrs.templateUrl(是一个字符串)。请创建一个演示。你能解释一下为什么会发生这种情况吗。我认为使用camelcase符号来命名派生词是可以的,比如ngRepeate或其他。@Iin我以前也使用过-in元素名,它工作得很好。当然不用担心,你节省了我很多时间。
<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;
    }
  }
});