【发布时间】:2017-09-26 18:11:18
【问题描述】:
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 来实现(然后请告诉我正确的方法/语法),还是应该将此逻辑移动到此页面的控制器中?
【问题讨论】:
-
您需要将整个三元运算包含在
{{ ... }}中。就像你说的,你的表情也很复杂。因此将它放在您的控制器功能中。这样的代码很难阅读。 -
我有这个猜测并尝试过。正如我在导致 Lexer 错误的原始帖子中所写:[$parse:lexerr] Lexer Error: Unterminated quote at columns 18-73
-
即使你可以,也不要,ewewew。
-
@DaveNewton 我知道,我知道 :)
标签: angularjs html ternary-operator