python – Flask AngularJS – 使用url_for()

我在我的应用程序中使用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()过程,因此“[[item.id]]”不会被AngularJS及时替换.

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

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

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

最佳答案 我刚碰到这个问题.我最终使用了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>
点赞