角度链接或跨度

时间:2015-10-12 19:57:34

标签: html angularjs

初学者问题: 我需要创建一个依赖于控制器变量的html元素。 我在控制器上获得了一些JSON数据,现在我想创建视图。在json我可以有

{
    "text": "England",
}

{
   "text": "England",
   "url": "http://england.com/"
}

问题出现了: 如果没有提供网址,我想创建一个span,否则就是一个链接(a)。可以在不创建两个元素并使用ng-show或ng-hide的情况下执行此操作吗?

1 个答案:

答案 0 :(得分:4)

您可以通过几种不同的方式来处理它。显示隐藏可以工作,你也可以使用ng-if like:

<span ng-if="url == null"></span>
<a ng-if="url != null" href="url"></a>

ng-if如果失败则不会在DOM中呈现该对象,这与hide / show不同,后者将在DOM中拥有该对象,但使用样式来显示和隐藏它。

你也可以只有一个点击它的跨度。如果没有网址,点击可能只返回任何内容。

 <span ng-click="myFunction(url)"></span>
$scope.myFunction = function(url){
  if(!url){
    return null;
  } else{
    window.location.href = url;
  } 
}