Javascript 角度:ng重复中不同的HTML模板
我希望在重复块中根据我重复的数据类型使用不同的模板。在我的示例中,数组可以包含数据,也可以包含来自Twitter的tweet对象。目前我的代码看起来像这样Javascript 角度:ng重复中不同的HTML模板,javascript,angularjs,Javascript,Angularjs,我希望在重复块中根据我重复的数据类型使用不同的模板。在我的示例中,数组可以包含数据,也可以包含来自Twitter的tweet对象。目前我的代码看起来像这样 <ul data-ng-hide="sourceIsTwitter()" collapse="!showStrings"> <li data-ng-repeat="matchedString in matches">{{matchedString}}</li> </ul> <ul
<ul data-ng-hide="sourceIsTwitter()" collapse="!showStrings">
<li data-ng-repeat="matchedString in matches">{{matchedString}}</li>
</ul>
<ul data-ng-show="sourceIsTwitter()" collapse="!showStrings">
<li data-ng-repeat="tweet in matches">
{{ tweet.text }}
<i>{{ tweet.user.name }}</i>
<a href="{{ tweetUrl(tweet) }}">{{ formatDateFromTwitter(tweet.created_at) }}</a>
</li>
</ul>
- {{{matchedString}
-
{{tweet.text}
{{tweet.user.name}
。。。当内容源不是Twitter时会抛出很多错误。我应该如何根据对象的类型重新构造它以使用正确的模板?假设
matches
是一个对象数组,每个对象都有一个属性类型
,我可以检查。您可能最好使用该指令:
<li data-ng-repeat="obj in matches" data-ng-switch="obj.type">
<span data-ng-switch-when="twitter"><!-- Do Twitter Rendering --></span>
<span data-ng-switch-when="facebook"><!-- Do Facebook Rendering --></span>
<span data-ng-switch-when="foo"><!-- Do Foo Rendering --></span>
</li>
我遇到了这种情况,有很多可能的模板,这使得ng switch看起来有点笨重。我将每个模板放在它自己的html文件中,并使用ng include和scope函数来检索正确的模板名称:
<ul>
<li data-ng-repeat="match in matches">
<div ng-include="getTemplate(match)"></div>
</li>
</ul>
-