javascript - 如何在 {{}} AngularJS 中使用 JavaScript

标签 javascript angularjs

我知道 {{}} 可以解释一个表达式,但是当我尝试在其中使用 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/

相关文章:

angularjs - Angular.js e2e 测试对外部服务的 HTTP 请求

javascript - AngularJS Ngdraggable 问题

javascript - 自定义指令的多个实例失败

javascript - AngularJs查看用户详细信息

javascript - React - 改变子组件的状态

javascript - Angularjs:如何将 CSS 属性应用于由 ng-repeat 指令生成的单个元素

javascript - 更改异步验证器的运行方式

javascript - 我为我的网站添加了一个 Lightbox jquery,但我想删除每次出现的蓝色边框

javascript - 将 ES6 import 语句放在代码文件的底部有什么缺点吗?

javascript - 如何在 Handlebars 模板的输入字段内使用 Ember.js 的操作助手传递参数?