我尝试在下面的angularjs代码中使用scope而不是ng-init,但没有任何原因可以解释为什么?
<!doctype html>
<html ng-app="myApp" ng-controller="myCtrl">
<head>
<title>Bookshop - Your Online Bookshop</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="http://www.w3schools.com/lib/w3.css">
</head>
<body>
<div class="container">
<h2>Your Online Bookshop</h2>
<ul class="unstyled">
<li ng-repeat="book in books">
{{book}}
</li>
</ul>
</div>
<div class="container">
<h2>Your Online Bookshop</h2>
<ul class="unstyled">
<li ng-repeat="book in books_author">
<span>{{book.name}} written by {{book.author}}</span>
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.books = ['Effective Java','Year without Pants','Confessions of public speaker','JavaScript Good Parts'];
$scope.books_author = [{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}];
});
</script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
</body>
</html>
答案 0 :(得分:1)
它适用于我,但你必须在使用之前加载角度。所以改为:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.books = ['Effective Java','Year without Pants','Confessions of public speaker','JavaScript Good Parts'];
$scope.books_author = [{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}];
});
</script>
答案 1 :(得分:1)
代码很好,只需在包含AngularJS时移动该行:
return 0;
在自定义脚本中使用它之前,它会起作用!