我是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
答案 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;
}
}
});