我想为这段代码创建一个指令。我想将当前xxxxx
的文本作为元素内部的参数传递。不太清楚如何做到这一点。
<div class="gridFooter" ng-show="home.dataRetrieved">
<span ng-show="(home.grid.data).length">{{ (home.grid.data).length + " rows retrieved - " + home.grid.view.length + " displayed" }}</span>
<span ng-show="!(home.grid.data).length">xxxxx</span>
</div>
我希望使用restrict: 'E'
有人可以告诉我,将元素命名为<grid-footer>
是否有效,如果不是,那么HTML元素名称是否区分大小写?例如,我可以将元素命名为<gridFooter>
吗?
答案 0 :(得分:2)
答案应该在这里:
Angular规范化元素的标记和属性名称,以确定哪些元素与哪些指令匹配。我们通常通过其区分大小写的camelCase规范化名称(例如ngModel)来引用指令。 但是,由于HTML不区分大小写,我们通过小写形式引用DOM中的指令,通常使用DOM元素上的划线分隔属性(例如ng-model)。
我们应该使用命名(在html中),如:
<grid-footer>
<grid:footer>
因为HTML不区分大小写 - 这是如何指示角度如何将其转换为名为 gridFooter
答案 1 :(得分:2)
指令的命名是在camelCase中完成的,当使用时,名称是小写的,并且在之前的大写字母之前插入破折号。
因此,如果您将指令命名为myDirective
,则标记为<my-directive>
这应该在documentation。
中详细介绍在HTML中,标记名称不区分大小写。