Javascript anglularJs自定义指令未加载
我正在尝试在以下庄园中创建自定义指令: 我的主html文件:Javascript anglularJs自定义指令未加载,javascript,html,angularjs-directive,Javascript,Html,Angularjs Directive,我正在尝试在以下庄园中创建自定义指令: 我的主html文件: <body ng-app="boom"> <!--<section ng-include="'data-table.html'"></section>--> <data-table></data-table> </body> <div class="table-wrapper"> <table class="table tabl
<body ng-app="boom">
<!--<section ng-include="'data-table.html'"></section>-->
<data-table></data-table>
</body>
<div class="table-wrapper">
<table class="table table-fixed">
<thead class="header">
<tr>
<th>Entity</th>
</tr>
</thead>
</table>
<div id="media_table_height" class="table-content scroll-outer">
<div class="scroll-inner">
<table class="table-fixed">
<tbody ng-repeat="data in tableData.dataSet">
<tr class="data-row">
<td>{{data.prop1}}</td>
</tr>
<tr class="data-row">
<td>{{data.prop2}}</td>
</tr>
<tr class="data-row">
<td>{{data.prop3}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
我的ajs-directive.js文件:
(function () {
var app = angular.module('ajs-directives', []);
app.directive('dataTable', function () {
return {
restrict: 'E',
templateUrl: 'data-table.html',
controller: function () {
this.dataSet = dataSet;
},
controllerAs: 'tableData'
};
});
var dataSet = [
{
prop1: 'one',
prop2: 'two',
prop3: 'three'
},
{
prop1: 'four',
prop2: 'five',
prop3: 'six'
}
];
})();
和我的data-table.html文件:
<body ng-app="boom">
<!--<section ng-include="'data-table.html'"></section>-->
<data-table></data-table>
</body>
<div class="table-wrapper">
<table class="table table-fixed">
<thead class="header">
<tr>
<th>Entity</th>
</tr>
</thead>
</table>
<div id="media_table_height" class="table-content scroll-outer">
<div class="scroll-inner">
<table class="table-fixed">
<tbody ng-repeat="data in tableData.dataSet">
<tr class="data-row">
<td>{{data.prop1}}</td>
</tr>
<tr class="data-row">
<td>{{data.prop2}}</td>
</tr>
<tr class="data-row">
<td>{{data.prop3}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
实体
{{data.prop1}}
{{data.prop2}}
{{data.prop3}
我的问题是在我的主html文件中没有呈现任何内容。只有
标记可见。我在Google Chrome中没有发现任何控制台错误
您可能可以从我的主html文件中看到,我已尝试使用ng include=“'data-table.html'”
属性将其添加到data-table.html文件中(显然是在ajs-directive.js文件中创建了一个控制器)。我这样做的时候,效果很好
只是想知道为什么在我使用该指令时它不起作用-已经在谷歌上搜索和调整了几天,但无法找到它。出于某种原因(尚未找到它)-angular无法识别元素的名称
快速解决方案-只需更改指令中元素的名称和绑定,例如
视图:
出于某种原因(还没有弄明白)-angular无法识别元素的名称
快速解决方案-只需更改指令中元素的名称和绑定,例如
视图:
出于某种原因(还没有弄明白)-angular无法识别元素的名称
快速解决方案-只需更改指令中元素的名称和绑定,例如
视图:
出于某种原因(还没有弄明白)-angular无法识别元素的名称
快速解决方案-只需更改指令中元素的名称和绑定,例如
视图:
角度文档
其中我们可以看到:
角度规范化元素的标记和属性名称,以确定
哪些元素与哪些指令匹配。我们通常指
按其区分大小写的指令的大小写规范化名称(例如。
ngModel
)。然而,由于HTML不区分大小写,我们参考
通过小写形式在DOM中执行指令,通常使用
DOM元素上以破折号分隔的属性(例如,ng model
)
规范化过程如下所示:
- 从元素的前面剥离x和数据
- 将以:、-或_分隔的名称转换为camelCase
数据-
用作指令名称,或者在您的情况下(我不确定)所有被称为
的元素都将应用数据表
指令。你可以检查一下我是否错了:P
其中我们可以看到:
角度规范化元素的标记和属性名称,以确定
哪些元素与哪些指令匹配。我们通常指
按其区分大小写的指令的大小写规范化名称(例如。
ngModel
)。然而,由于HTML不区分大小写,我们参考
通过小写形式在DOM中执行指令,通常使用
DOM元素上以破折号分隔的属性(例如,ng model
)
规范化过程如下所示:
- 从元素的前面剥离x和数据
- 将以:、-或_分隔的名称转换为camelCase
数据-
用作指令名称,或者在您的情况下(我不确定)所有被称为
的元素都将应用数据表
指令。你可以检查一下我是否错了:P
其中我们可以看到:
角度规范化元素的标记和属性名称,以确定
哪些元素与哪些指令匹配。我们通常指
按其区分大小写的指令的大小写规范化名称(例如。
ngModel
)。然而,由于HTML不区分大小写,我们参考
通过小写形式在DOM中执行指令,通常使用
DOM元素上以破折号分隔的属性(例如,ng model
)
规范化过程如下所示:
- 从元素的前面剥离x和数据
- 将以:、-或_分隔的名称转换为camelCase
数据-
用作指令名称,或者在您的情况下(我不确定)所有被称为
的元素都将应用数据表
指令。你可以检查一下我是否错了:P
其中我们可以看到:
角度规范化元素的标记和属性名称,以确定
哪些元素与哪些指令匹配。我们通常指
按其区分大小写的指令的大小写规范化名称(例如。
ngModel
)。然而,由于HTML不区分大小写,我们参考
通过小写形式在DOM中执行指令,通常使用
DOM元素上以破折号分隔的属性(例如,ng model
)
规范化过程如下所示:
- 从元素的前面剥离x和数据
- 将以:、-或_分隔的名称转换为camelCase
数据-
用作指令名称,或者在您的情况下(我不确定)所有被称为
的元素都将应用数据表
指令。你可以检查一下我是否错了:PT
app.directive('datatable', function () {...