Javascript anglularJs自定义指令未加载

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

我正在尝试在以下庄园中创建自定义指令:

我的主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>
我的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
这似乎是一个指令名问题

注意:不要将
数据-
用作指令名称,或者在您的情况下(我不确定)所有被称为
的元素都将应用
数据表
指令。你可以检查一下我是否错了:P

T
app.directive('datatable', function () {...