【发布时间】:2014-03-20 01:02:32
【问题描述】:
我在使用 template 属性而不是 templateUrl 属性时遇到了一个奇怪的问题。
在后者的情况下,我可以在单个元素上定义具有隔离范围的多个指令或 transclude 选项。这按预期工作,我没有收到任何错误。
然而,当简单地复制模板并在指令中将其设置为 template 时,Angular 突然开始抱怨多个指令要求对同一元素进行隔离范围或嵌入。
看到我的这个plunkr。它在控制台中引发错误。但是,如果您要替换(在 scripts.js 中)
template: "<ul kendo-menu k-orientation=\"'vertical'\" k-direction=\"'right'\"></ul>",
与
templateUrl: 'menu.html'
该指令有效(尝试右键单击文本)。 HTML 文件的内容与字符串中的内容完全相同。
有没有人知道为什么会出现这种不一致?
编辑:为避免混淆,我需要有 transclude 选项,因为我想重用这个元素并能够配置在每个单独使用的地方显示哪些元素。
【问题讨论】:
-
我对kendo-ui不熟悉但是这个模板好像需要编译吧?
-
@glepretre kendo 仅用于渲染菜单组件。模板本身是标准的角度,所以你不需要预编译它就可以工作。感谢您查看我的问题!
标签: angularjs templates kendo-ui transclusion