AngularJS-为什么不;t替换:true使用templateUrl属性
AngularJS - Why doesn't replace: true work with templateUrl property?
我有一个非常简单的指令,我想从一个单独的HTML文件加载模板。我希望HTML替换该指令,因此我将replace: true
属性添加到该指令中。然而,当我这样做时,模板根本不会被包括在内。
我创建了一个jsFiddle,您可以在其中看到它。如果您使用Firebug或其他东西来检查DOM,您可以看到,当它只使用template
属性时,它确实会替换元素。如果去掉replace: true
,您可以看到templateUrl
处的HTML被附加到foo元素。然而,当我将replace: true
和templateUrl
相加时,我在DOM中看到的只是<foo></foo>
。
你不能同时使用这两个属性是有什么原因的吗?我还不是javascript方面的专家,所以如果能提供任何关于这里发生的事情的信息,我将不胜感激。
确保templateUrl
中html的内容只有一个根元素。这在replace: false
时不是问题,但在replace: true
时会成为问题,您将看到此控制台错误(与FireBug一起):
Error: Template must have exactly one root element.
这里有一个jsFiddle,它不工作(有两个根元素),另一个工作。
好问题。如果我没有错的话,你想使用"transclude"
http://jsfiddle.net/dandoyon/AsVp8/1/
Transclude允许您将模板与HTML中的内容混合。您可能想再看一眼文档,然后查找此选项。
欢呼!
相关文章:
- AngularJS-使用'true'属性
- 如何使用选项useCSS set true为bxSlider加载onSlideAfter()事件
- CORS-如果Jquery-ajax's”;withCredentials:true”;已使用
- 使用!而in运算符在应该为true时返回false,为什么
- 使用“in”关键字检查 0 始终返回 true
- 如何使用 jquery 检查该值是否存在于带有标签的 select2 下拉列表中:true
- jquerymobile:当 mobile.changepage 使用 reloadpage:true 调用时,目标页面
- _.数组中的每个查找值都返回 true 或 false.使用下划线 JS
- iframe src 使用现有值在单击时添加自动播放=true 参数
- 当我们使用Javascript提交表单时,IsPostBack始终为True
- 在Rails中使用remote:true在Chrome中有效,但在Safari中无效——从js.erb文件调用succe
- 使用if-else-if-true检查(验证)单选按钮如果未检查则无警报必须检查警报
- 使用.ech()绑定页面加载上的处理程序,并使用jQuery.clone(true,true)采用它们
- 当在document.ready中使用async=true时会发生什么
- Ember.js查询参数不尊重replace:true并使用replaceState
- jQuery自定义滚动条插件没有't使用水平滚动进行更新:true
- 使用add:true参数获取集合时,重新渲染主干视图
- 如何使用聚合对值为 true 的字段求和
- 使用jquery对话框时,单击按钮时始终返回true
- AngularJS-为什么不;t替换:true使用templateUrl属性