如何将AngularJS变量作为Symfony2项目中的链接打印出来

时间:2016-12-22 12:19:53

标签: javascript angularjs symfony

我正在尝试在使用AngularJS获取值时在symfony2中打印出一个链接。我的花括号有问题。

例如:

<div id="columns">

  <div class="block" ng-repeat = "tip in tips">

    <img src="{{' {{ tip.imageDocument.webPath }}'}}" alt="">

    <div class="detail">
      <h2>{{ '{{ tip.title }}' }}  {{ '{{ tip.id }}' }}</h2>

      <p>{{ '{{ tip.introduction }}'}}</p>
      <a href="./tips/{{'{{ tip.id }}'}}" class="button">{% trans %}Read more{% endtrans %}</a>
    </div>


  </div>

</div>

我认为如果我在角度变量“{{variable'}}'周围放置花括号

,它就有效 像这样

{{ '{{ variable }}' }}

但这对我来说似乎不对。 此链接也不起作用。 它被打印出%7B%7B%20tip.id%20%7D%7D,这是明显的,因为大括号..

任何?

由于

4 个答案:

答案 0 :(得分:0)

你试过{{ '{{ variable }}' | raw }}吗?看起来在您的Twig配置中打开了转义。它是默认的。

编辑:好的,看起来实际上是浏览器自动&#34; urlencoding&#34;大括号。我认为问题不在于Twig,事实上它与Angular.js有关。在使用Angular时你不应该使用href,你应该使用ng-href代替。

答案 1 :(得分:0)

您是否试图逃避内部花括号?

<div id="columns">

  <div class="block" ng-repeat = "tip in tips">

    <img src="{{' \{\{ tip.imageDocument.webPath \}\}'}}" alt="">

    <div class="detail">
      <h2>{{ '\{\{ tip.title \}\}' }}  {{ '\{\{ tip.id \}\}' }}</h2>

      <p>{{ '\{\{ tip.introduction \}\}'}}</p>
      <a href="./tips/{{'\{\{ tip.id \}\}'}}" class="button">{% trans %}Read more{% endtrans %}</a>
    </div>


  </div>

</div>

这很丑,但也许这可以帮助你。

答案 2 :(得分:0)

无论如何都要使用verbatim标记来显示角度的变量。

例如:

{% verbatim %} {{ tip.title }}{% endverbatim %} 

现在{{ tip.title }}不会被twig解析,而是由angularjs解析。

答案 3 :(得分:0)

你应该使用 {%verbatim%} 来逃避来自TWIG的curlies,并使用src和href的 ng - * 属性来允许AngularJS很好地解析它,比如这样:

<div id="columns">
  <div class="block" ng-repeat="tip in tips">
    <img ng-src="{% verbatim %}{{ tip.imageDocument.webPath }}{% endverbatim %}" alt="">

    <div class="detail">
      <h2>{% verbatim %}{{ tip.title + ' ' + tip.id }}{% endverbatim %}</h2>

      <p>{% verbatim %}{{ tip.introduction }}{% endverbatim %}</p>

      <a ng-href="./tips/{% verbatim %}{{ tip.id }}{% endverbatim %}" class="button">
        {% trans %}Read more{% endtrans %}
      </a>
    </div>
  </div>
</div>

有关 ng - * 属性

的更多示例

https://docs.angularjs.org/api/ng/directive/ngSrc

https://docs.angularjs.org/api/ng/directive/ngHref