【发布时间】:2020-05-27 03:52:07
【问题描述】:
如何从 angularjs 访问 html 中的 $scope.list?
jinja2.exceptions.UndefinedError: 'car' is undefined
main.js
(function ()
{
'use strict';
angular.module('WordcountApp', [])
.controller('WordcountController', ['$scope',
function($scope)
{
$scope.some = 'jjj'
console.log( "in WordcountController " , $scope.some)
$scope.cars = [
{make: 'Mazda', model: 'Miata', year: 2001},
{make: 'Toyota', model: 'Prius', year: 2013},
{make: 'Tesla', model: 'S', year: 2015},
{make: 'BMW', model: '325i', year: 2012}
]
}
]
);
}()
);
index.html
<!DOCTYPE html>
<html ng-app = "WordcountApp" >
<head>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"> </script>
<script src = "static/main.js" > </script>
</head>
<body ng-controller = "WordcountController">
<ul ng-repeat = "car in cars" >
<p> {{ car.make }} </p>
</ul>
</body>
</html>
app.py
from flask import Flask
from flask import render_template
from flask import request
app = Flask( __name__ )
displayText = 'Default text from Python'
@app.route('/', methods=['GET', 'POST'])
def index():
return render_template('index.html')
@app.route("/writeOutput", methods=['POST'])
def writeOutput():
global displayText
print("request.get_json():- ", request.get_json())
displayText = request.get_json()['myOutput']['myText']
print ("from POST " , displayText)
return displayText
@app.route("/displayPreviousText", methods=['GET'])
def displayPreviousText():
global displayText
return displayText
if __name__ == "__main__":
app.run()
我以python app.py 运行此应用程序
错误:
jinja2.exceptions.UndefinedError: 'car' is undefined
从angular访问html中列表的方法是什么?
【问题讨论】:
-
如果我复制你的代码就可以工作...所以问题出在其他地方
-
您能发布您的 package.json 和任何构建/服务器配置文件吗?目前尚不清楚 Jinja 如何成为您发布的代码的一部分。 (即你是否使用 python 服务?)
-
@kskid19 很抱歉没有包含 python 代码。我现在已经做到了。请看。我正在使用 Flask。
-
@PetrAveryanov 请查看更新。感谢您试用我的代码。
-
你可以打开你的index.html,你可以
view page source点击static/main.js的链接。确保您可以打开该文件,如果没有,那么您应该学习如何读取静态文件。
标签: javascript python html angularjs jinja2