从烧瓶传递一个字符串到angularjs

时间:2015-02-13 15:58:26

标签: javascript python angularjs flask

我将一个变量从flask传递给像这样的模板

    @app.route('/')
    def respond():
        return render_template('index.html', bar='foo')

在附加到该页面正文的angularjs控制器中,我有一个这样的函数:

$scope.init = function(bar){
        $scope.content = bar;
    }

我试图将此变量从烧瓶传递到模板中的角度,如下所示:

<body ng-init="init({{ bar|tojson|safe }})" ng-controller="AppCtrl">

但最终DOM中的标签搞砸了

<body ng-init="init("foo")" ng-controller="AppCtrl">

这个问题是引号。浏览器无法正确解释它们并且变量未通过。

所以我的问题是如何解决这个问题?我不想从角度控制器发出另一个http请求来获取该数据。

修改。

<body ng-init="init('{{ bar }}')" ng-controller="AppCtrl">

好像已经修好了

1 个答案:

答案 0 :(得分:1)

只需使用',而DOM属性已经以"

开头

Double double qoute将打破DOM。

<body ng-init="init('{{ bar|tojson|safe }}')" ng-controller="AppCtrl">

将在DOM上呈现为

<body ng-init="init('foo')" ng-controller="AppCtrl">

希望这可以帮到你。谢谢。