我正在处理一个应该在网页中加载帖子的小项目。我认为我可以使用角度ng-repeat快速创建帖子,然后使用ng-include加载帖子格式化的内容,这是一个小的HTML页面。这是代码:
<section ng-controller="PostController as posts" ng-show="!$first">
<div ng-repeat="post in posts.info">
<h2>{{post.title}}</h2>
<div ng-include="posts/{{post.content}}"></div> //here is the problem
<span class="date">{{post.createdOn}}</span>
<span class="author">{{post.author}}</span>
</div>
</section>
我从JSON导入标题,日期和作者的内容,并且它有效。
当我加载页面时,我看到应该加载的html页面丢失了。我将帖子的主要文本存储在名为&#34; posts&#34;的文件夹中,并且在其中,将有帖子。
所以我查看了该问题的呈现页面,我看到AngularJS似乎评论了无法加载的内容:我实际上看到<!-- ngInclude: '{{post.content}}' -->
。
所以我的问题是:如何告诉AngularJS从HTML标记属性中读取{{ }}
的结果?
答案 0 :(得分:3)
这是一个demonstrates这是如何工作的Plunker。结果是您不需要{{}}。只需用双引号指定Angular表达式,如下所示:
<div ng-include="post.content"></div>
答案 1 :(得分:1)
这项工作:
<div ng-include="'post/'+ post.content">
答案 2 :(得分:0)
经过很长一段时间,我解决了我的问题! 我发现如果我编写以下代码:
,它会起作用 <div ng-include="'posts/testPost.html'" class="ng-binding"></div>
不要问我这背后的理论部分,因为我还没有完全理解它是如何运作的。