Play Framework + Angular 问题 JSON 在页面上呈现
Play Framework + Angular Issue with JSON render on Page
我有简单的 Scala Play 框架和 Angular 应用程序。我尝试在 play 的 "xxx.scala.html" 模板上渲染 JSON 数据,但不知道它没有按预期渲染的问题是什么。
@main("Welcome to Play") {
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"> </script>
<script>
app.controller('NamesCtrl', function($scope) {
// get names using AngularJS AJAX API
$http.get('/getNames').success(function(data){
$scope.names = data;
});
});
</script>
<div ng-app="app" ng-contoller="NamesCtrl">
<ul>
<li ng-repeat=" name in names">{{name}}</li>
</ul>
</div>
}
我的路线条目
GET /getNames controllers.HomeController.getNames
Scala 控制器:
def getNames = Action {
val names = List("Bob","Mike","John")
Ok(Json.toJson(names)).as(JSON)
}
当我使用 url
调用我的页面时
我在页面上收到如下回复,
["Bob","Mike","John"]
你能解释一下我做错了什么吗?
谢谢!!
代码中存在一些问题。 正确的是这样的:
@main("Welcome to Play") {
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.19/angular.min.js"></script>
<div ng-app="myApp" ng-controller="NamesCtrl">
<ul>
<li ng-repeat="name in names">{{name}}</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('NamesCtrl', function($scope, $http) {
$http.get('/getNames').success(function(data){
console.log(data);
$scope.names = data;
});
});
</script>
}
发生了什么变化:
- AngularJS 1.3.19 而不是 1.2.10
- AngularJS 模块 - 在
div
中引用
- 在控制器中注入
$http
服务
- 你的 ng 错了 - 它应该是
ng-controller
而不是 ng-contoller
(我猜是打字错误)
结果如您所愿:
我有简单的 Scala Play 框架和 Angular 应用程序。我尝试在 play 的 "xxx.scala.html" 模板上渲染 JSON 数据,但不知道它没有按预期渲染的问题是什么。
@main("Welcome to Play") {
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"> </script>
<script>
app.controller('NamesCtrl', function($scope) {
// get names using AngularJS AJAX API
$http.get('/getNames').success(function(data){
$scope.names = data;
});
});
</script>
<div ng-app="app" ng-contoller="NamesCtrl">
<ul>
<li ng-repeat=" name in names">{{name}}</li>
</ul>
</div>
}
我的路线条目
GET /getNames controllers.HomeController.getNames
Scala 控制器:
def getNames = Action {
val names = List("Bob","Mike","John")
Ok(Json.toJson(names)).as(JSON)
}
当我使用 url
调用我的页面时我在页面上收到如下回复,
["Bob","Mike","John"]
你能解释一下我做错了什么吗?
谢谢!!
代码中存在一些问题。 正确的是这样的:
@main("Welcome to Play") {
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.19/angular.min.js"></script>
<div ng-app="myApp" ng-controller="NamesCtrl">
<ul>
<li ng-repeat="name in names">{{name}}</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('NamesCtrl', function($scope, $http) {
$http.get('/getNames').success(function(data){
console.log(data);
$scope.names = data;
});
});
</script>
}
发生了什么变化:
- AngularJS 1.3.19 而不是 1.2.10
- AngularJS 模块 - 在
div
中引用
- 在控制器中注入
$http
服务 - 你的 ng 错了 - 它应该是
ng-controller
而不是ng-contoller
(我猜是打字错误)
结果如您所愿: