【问题标题】:Flask + AngularJS - Using url_for()Flask + AngularJS - 使用 url_for()
【发布时间】:2014-04-23 17:29:31
【问题描述】:

我在我的应用程序中使用 AngularJS + Flask,我想知道“生成”一个 url 的最佳方式,并且不要为此编写任何硬代码 url。我有这种情况:

*考虑到我在 AngularJS 中使用 [[ ]] 而不是 {{ }}。

<dd ng-repeat="item in myList">
    <span ng-click="doAction('{{ url_for('my_url', id="[[item.id]]") }}')">
      [[item.name]]
    </span>
</dd>

这样不行,因为Jinja2在AngularJS之前做了url_for()这个过程,所以AngularJS不会及时替换掉“[[item.id]]”。

问题是,我不想这样写硬代码:

<span ng-click="doAction('/my_url/[[item.id]]')">
    [[item.name]]
</span>

我是 AngularJS 的新手,也许我所有的方法都是错误的,所以,有没有人知道什么是点击元素的最佳方法,根据点击元素的上下文使用 URL 发出请求?

【问题讨论】:

    标签: python angularjs flask


    【解决方案1】:

    我刚刚遇到了这个问题。我最终使用了 Jinja2 的 {% set ... %}

    这就是我解决它的方法,适合你的例子。

    <dd ng-repeat="item in myList">
        {% set url = url_for('my_url', id="[[item.id]]") %}
    
        <span ng-click="doAction('{{ url }}')">
            [[item.name]]
        </span>
    </dd>
    

    【讨论】:

      【解决方案2】:

      就我而言, 我试图动态创建网址

      我按如下方式解决了我的问题(注意:我已将 Angular 的语法换成了 {[x]}:

      <ul>
          <li ng-repeat="x in projects">
              {[x.title]}
              {% set url = url_for('static',filename="img/") %}
      
              <img src="{{url}}{[x.img]}">
          </li>
      </ul>
      

      【讨论】:

        猜你喜欢
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        • 2018-01-06
        • 2014-08-08
        • 1970-01-01
        • 2013-04-27
        • 2011-11-20
        • 2012-03-04
        相关资源
        最近更新 更多