<div ng-repeat="book in books">
<a href="#/{{book.title}}"> <h3 class="title">{{book.title}}</h3></a>
</div>
我使用上面的代码来获取并且它工作正常,但我也有一个搜索功能,它也会设置$scope.books
。不幸的是,我无法控制api,搜索回调返回了不同的方案,意味着获得我必须导航到其他地方的书籍的标题,如book.category.item.title
。
所以我想做这样的事情
<a href="#/{{book.title || book.category.item.title}}">
检查book.title是否设置,否则显示另一个表达式。这是对的吗?
答案 0 :(得分:1)
相反,我更喜欢使用ng-href
<a ng-href="{{getTitle()}}">link</a>
在你的控制器中,通过检查那里的逻辑返回url
。
angular.module("app",[])
.controller("MainCtrl", function($scope) {
$scope.book = {};
$scope.book.title = null;
$scope.book.category = {
item : {
title : "Rafi"
}
}
$scope.getTitle = function() {
return '#/'+ ($scope.book.title || $scope.book.category && $scope.book.category.item && $scope.book.category.item.title);
}
});
<强> DEMO 强>
如果您因某些原因不想使用控制器:
<a ng-href="{{'#/'+(book.title || book.category.item.title)}}">