我正在学习AngularJS,我遇到数据绑定问题。
当我尝试从$scope.mytext
获取价值时,我会{{mytext}}
。这是代码:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>Hello</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">
</script>
<script>
var MainController = function ($scope) {
$scope.mytext = "Angular JS Rulez";
}
</script>
</head>
<body>
<div ng-app>
<div ng-controller="MainController">
<p>{{mytext}}</p>
</div>
</div>
</body>
</html>`
答案 0 :(得分:1)
您在设置应用的方式上遇到了一些错误。
您从未定义过应用,您已声明ng-app
两次,第二次未向ng-app
分配任何内容,并且您引用的CDN出现错误。定义应用程序后,您需要将控制器分配给此应用程序。
以下代码适用于您,您还可以通过查看此jsfiddle演示来查看代码。
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>Hello</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script>
var myApp = angular.module('myApp',[]);
myApp.controller('MainController', ['$scope', function($scope) {
$scope.mytext = "Angular JS Rulez";;
}]);
</script>
</head>
<body>
<div ng-controller="MainController">
<p>{{mytext}}</p>
</div>
</body>
</html>
答案 1 :(得分:1)
您似乎在html中调用该应用,但您还没有在任何地方定义它。你必须:
您的代码只是调用未在任何应用上正确定义的MainController。
在这种情况下的基本设置是,正如保罗提到的那样:
var myApp = angular.module('myApp', []);
myApp.controller(MyAppController, ['$scope', function($scope) {
...add $scope elements here ...
]);
此外,你不应该在html中两次调用ng-app。