在ng-href中有一个复杂的(ish)三元表达式,它似乎无法正常工作。
ng-href="item.hasTrailer ?
'#/{{getTemplateName(routeParams.mainCategoryId).detail}}
/{{routeParams.mainCategoryId}}/{{routeParams.categoryId}}
/{{item.trailer_media_uri[langCtrl.currentLanguage.isoCode]}}' :
'#/{{getTemplateName(routeParams.mainCategoryId).detail}}
/{{routeParams.mainCategoryId}}/{{routeParams.categoryId}}
/{{item.media_uri}}'"
如果我将整个表达式包装在双重卷曲中
"{{item.hasTrailer ... item.media_uri}}'}}"
Angular抛出lexerr,其中包含有关不必要引用的消息。我应该尝试通过ng-href(然后请告诉我正确的方法/语法),或者我应该在这个页面的控制器内移动这个逻辑吗?
答案 0 :(得分:1)
我认为它应该有效:
ng-href="{{item.hasTrailer ?
'#/' + getTemplateName(routeParams.mainCategoryId).detail
+ '/' + routeParams.mainCategoryId + '/' + routeParams.categoryId
+ '/' + item.trailer_media_uri[langCtrl.currentLanguage.isoCode] :
'#/' + getTemplateName(routeParams.mainCategoryId).detail
+ '/' + routeParams.mainCategoryId + '/' + routeParams.categoryId
+ '/' + item.media_uri}}"
这很疯狂很复杂:)我认为你应该把它放在控制器中。我也不确定角度表达式是否可以是多行的。