angularjs – Angular:使用template或templateUrl时的差异
发布时间:2020-12-17 17:13:11 所属栏目:安全 来源:网络整理
导读:我在使用template属性而不是templateUrl时遇到了一个奇怪的问题. 在后者的情况下,我可以在单个元素上定义具有隔离范围的多个指令或transclude选项.这按预期工作,我没有任何错误. 然而,当简单地复制模板并将其设置为指令中的模板时,Angular突然开始抱怨多个指
我在使用template属性而不是templateUrl时遇到了一个奇怪的问题.
在后者的情况下,我可以在单个元素上定义具有隔离范围的多个指令或transclude选项.这按预期工作,我没有任何错误. 然而,当简单地复制模板并将其设置为指令中的模板时,Angular突然开始抱怨多个指令请求隔离范围或在同一元素上进行转换. 见我的这个plunkr.它在控制台中抛出错误.但是,如果要替换(在scripts.js中) template: "<ul kendo-menu k-orientation="'vertical'" k-direction="'right'"></ul>", 同 templateUrl: 'menu.html' 该指令有效(尝试右键单击文本). HTML文件的内容与字符串中的内容完全相同. 有没有人知道为什么会出现这种不一致? 编辑:为了避免混淆,我需要transclude选项,因为我想重用这个元素,并能够配置在单独使用的每个地方显示的元素. 解决方法
我无法重现这个问题,但这里的问题实际上是替换:在menu指令的定义中为true.
这意味着kendo和menu指令都试图依次替换元素.保留菜单包装可以解决问题:http://plnkr.co/edit/vGhEVNfz35elCtxXSMxO?p=preview (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |