我在我的应用程序中使用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>