目前我有一个从新闻控制器填充的页面。
news.html
<div class="col-md-4" ng-repeat="article in newsController.news">
<a title="Click to view" href="{{article.location}}" target="_blank">
<div class="eventHolder">
<h1>{{article.title}}</h1>
<hr />
<p>{{article.description}}</p>
<p class="date">{{article.date}}</p>
</div>
</a>
</div>
news.controller.js的格式
var newsPage = angular.module('myApp');
newspage.controller etc etc...
...
self.news = [
title:
description:
date:
location: "img/blabla.pdf"
因此,如果位置是pdf,那么它很好。问题是我需要一些页面是实际的html页面,所以他们需要使用ui-sref
而不是href
。我正在考虑向页面添加另一个属性,如page: true
,并在html中添加ng-click
以检查它是否是pdf(或页面)。这将决定是使用ui-sref
还是href
。
我不确定如何将“ui-sref
/ href
参数”从控制器“发送”到html。或者,如果我甚至正确地这样做。如果有什么不清楚,请道歉。
UPDATE /澄清
它必须使用ui-sref的原因是页面由$ state提供程序管理,该提供程序也为它的css提供信息。 (页面上没有它的样式表。)
答案 0 :(得分:3)
您可以在news
中添加一个字段,如下所示:
self.news = [{
...
isPage: true,
...
}]
然后在HTML中,您可以使用ng-if来决定使用href
或ui-sref
:
<a ng-if="article.isPage" ui-sref="{{article.location}}">
...
</a>
<a ng-if="!article.isPage" href="{{article.location}}">
...
</a>