【问题标题】:Curly braces and filters - filter returns object but it gets converted to a string inside {{ }}花括号和过滤器 - 过滤器返回对象,但它被转换为 {{ }} 内的字符串
【发布时间】:2013-09-06 19:06:19
【问题描述】:

我不完全清楚 {{ }} 之间到底发生了什么。我知道他们评估代码并返回结果。我还注意到结果默认转换为字符串。

但是如果我需要 {{}} 的内容来保持对象呢?

这就是我的意思:

我有一个过滤器:

app.filter('tryme', function () {
    return function (input) {
        return {foo:bar};
    };
});

现在以下行将显示 '{foo:bar}' 作为字符串

<td>{{ data | tryme}} </td> 

我想要做的是只显示 foo 的值,所以我希望这样的东西可以工作并呈现“bar”

<td>{{ somedata | tryme}}['foo'] </td>

但没有骰子...是否可以在花括号内获取对象并进一步伸入其中以呈现一些值?

【问题讨论】:

  • 看到这个post
  • {{ data.foo }} 怎么样?或者您想使用过滤器中的值
  • 是的,我需要使用该对象内的值...我知道这是可能的,只是语法问题。TheSharpieOne 的回答成功了。

标签: javascript angularjs angularjs-filter


【解决方案1】:

在语句周围添加括号,然后您可以在 {{}}

中将其作为对象访问
{{(data | tryme)['foo']}} 
{{(data | tryme).foo}} also works

示例:http://jsfiddle.net/TheSharpieOne/uJP2c/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多