Javascript 从数据开始时未识别AngularJS指令-*
我是安格拉斯的新手。我需要一些关于我创建的指令的帮助。 这是我的HTML: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-*开
<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;
}
}
});