Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript变量传递给angularjs范围_Javascript_Angularjs_Flask - Fatal编程技术网

将javascript变量传递给angularjs范围

将javascript变量传递给angularjs范围,javascript,angularjs,flask,Javascript,Angularjs,Flask,我正在使用flask呈现html模板。我想将通过flask的render_模板传递的变量add_html_数据传递给AngularJs控制器范围 我试过了 <body> <div ng-controller="layoutController" ng-init="entries= {{ add_html_metadata|tojson }}"/> </body> 在本例中,{{}表示flask变量(我将angularjs绑定语法更改为{[{}]}

我正在使用flask呈现html模板。我想将通过flask的render_模板传递的变量add_html_数据传递给AngularJs控制器范围

我试过了

<body>
    <div ng-controller="layoutController" ng-init="entries= {{ add_html_metadata|tojson }}"/>
</body>

在本例中,{{}表示flask变量(我将angularjs绑定语法更改为{[{}]})

此外,我还尝试创建一个中介javascript变量

<script type="text/javascript">var entries = {{ add_html_metadata|tojson }}</script>
var entries={{add_html_metadata|tojson}
但是,仍然无法确定如何将其附加到控制器范围


感谢您的帮助

我没有使用烧瓶的经验,无论如何,尝试使用

您可以在控制器中创建一个
init()
函数:

app.controller('layoutController', function($scope) {
    $scope.init = function(html_metadata) {
        $scope.html_metadata = html_metadata;
    }
});
然后在模板中,您可以使用以下数据调用此函数:

<body>
    <div ng-controller="layoutController" ng-init="init({{ add_html_metadata|tojson }})"/>
</body>

我认为@Miguel的答案可能有效,但我只需要创建一个restful调用来返回定义为
add\u html\u metadata
的JSON数据块,并使用
$http
请求将其放在控制器的作用域中,这是一种有角度的方法。大概是这样的:

@app.route("/html_metadata", methods=["GET"])
def get_html_metadata():
   #do something in here
   return jsonify(html_metadata)
在角度控制器中

myApp.controller('layoutController', ['$scope', function($scope) {

  $http({method: 'GET', url: '/html_metadata'}).
    success(function(data, status, headers, config) {
      $scope.html_metadata = data
   }); 
}]);

现在您有了一个全局变量
条目
。由于全局变量在js代码中的任何位置都可用。。。。角度控制器或指令或服务内部
$scope.entries=entries