我知道 {{}} 可以解释一个表达式,但是当我尝试在其中使用 javascript 时,它不像 {{"a/b/c/d/".split('/' ).filter(function(n){return n}).reverse()[0]}}
我需要使用它从 url 中获取 slug 值。
请建议如何使用 angularjs 实现此目的,url 的来源来自外部提要,因此我对此的控制非常有限。
最佳答案
不支持完整的 JS,即使支持,也是一种不好的做法。
我建议您至少将其放在 Controller 中的作用域函数中。
更好的办法是将它放在服务或过滤器中,因此如果您以后想将它重用于其他目的,您可以:
$scope.getSlug = function( str ) {
return str.split( "/" ).filter(function( n ) {
return n;
}).reverse()[ 0 ];
};
然后,在您的模板中:
{{ getSlug( "a/b/c/d/" ) }}
{{ getSlug( myModelProperty ) }}
此外,阅读 Angular docs about expressions 也是有效的.
关于javascript - 如何在 {{}} AngularJS 中使用 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20679322/