angularJS仅在javascript对象中存在时添加ng href
angularJS adding ng-href only if present in javascript object
我有以下javascript对象,我正在从中构建导航栏:
$scope.slo = [
{
main: "IJS",
url: "https://www.ijs.si/ijsw"
},
{
main: "ZIC",
icon: "glyphicon glyphicon-triangle-bottom",
submenu: [{
one: "predstavitev",
two: "osebje"
}]
},
{
main: "knjižnica",
icon: "glyphicon glyphicon-triangle-bottom",
submenu: [{
one: "tiskane revije",
two: "elektronske revije",
three: "baze podatkov",
four: "katalog(COBISS)"
}]
},
{
main: "storitve",
icon: "glyphicon glyphicon-triangle-bottom",
submenu: [{
one: "bibliografije",
two: "medknjižnična izposoja",
three: "fotokopirnica"
}]
}
];
$scope.eng = [{
main: "IJS"
},
{
main: "ZIC",
icon: "glyphicon glyphicon-triangle-bottom",
submenu: [{
one: "introduction",
two: "staff"
}]
},
{
main: "library",
icon: "glyphicon glyphicon-triangle-bottom",
submenu: [{
one: "printed journals",
two: "electronic journals",
three: "databases",
four: "catalogue(COBISS)"
}]
},
{
main: "services",
icon: "glyphicon glyphicon-triangle-bottom",
submenu: [{
one: "bibliographies",
two: "interlibrary loan",
three: "copy room"
}]
}];
现在我想在html中添加一个ng-href
标记,但前提是存在url
属性。例如,第一个栏会指向一个url,但其他栏不会,因为它们是下拉列表。
这是我的html标记:
<a ng-href="{{!menu.url}}">{{ menu.main }}<span ng-class="menu.icon"></span></a>
我的问题是,我可以为ng-href
设置一个条件来评估url
属性是否存在,然后绑定url属性值吗?如果可以,我该怎么做?
以我目前的标记,我只得到:
<a href="false" class="ng-binding" ng-href="false">IJS<span ng-class="menu.icon"></span></a>
<a href="true" class="ng-binding" ng-href="true">ZIC<span class="glyphicon glyphicon-triangle-bottom" ng-class="menu.icon"></span></a>
您应该使用ng-attr-*
有条件地将属性添加到标记
<a ng-attr-href="{{menu.url}}">{{ menu.main }}<span ng-class="menu.icon"></span></a>
只有当menu.url
的值有效时,这才会将href
属性添加到锚标记中。如果{{menu.url}}
解析为undefined
,则href
属性将不会添加到元素中。
您可以将ng-if
属性与类似的函数一起使用
<a ng-href="{{menu.url}}">{{ menu.main }}<span ng-class="menu.icon" ng-if = "isExistUrl(menu.url)"></span></a>
在控制器中写入函数
$scope.isExistUrl = function(url){
// Write logic here if exist return true else false
}
相关文章:
- 通过jQuery添加ng样式属性,angular不更新
- 如何在多变量比较的基础上添加ng类
- 添加ng单击到highcharts ng柱状图xAxis标签
- 动态添加 ng 表单和验证
- 在所选元素的父元素上添加“ng-class”
- 动态添加ng模式,缺少验证类
- 从指令中向元素添加ng-if属性
- 重新编译角度指令以编程方式添加 ng-module 和 ng-change
- 在输入不匹配时添加 ng 无效类
- 根据滤镜的值有条件地添加 ng-animate 指令
- 如何在 AngularJS 中的指令模板中添加 ng 类
- Angular 在 ng-if 中添加 ng-show
- angularJS仅在javascript对象中存在时添加ng href
- AngularJS:模板添加ng点击不开火
- 向angularjs中的重复元素添加ng点击处理程序
- 如何在angular js中向多个ng include指令添加ng include回调
- 在指令中动态添加ng-if属性
- 如何在页面加载后添加ng-app
- ngAnimate没有在Angular 1.2的ng-view中添加ng-enter类
- 如何在angularjs中添加ng-repeat中的值