以下是我尝试实现控制器的非常简单的示例。
{{8/2}}正在提供正确的输出,例如4
,但{{message}}保持不变。
应该用一些值代替,例如First Controller
我从https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js
HTML
<!DOCTYPE html>
<html ng-app>
<head>
<script src="angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<h1>{{8/2}}</h1>
<div ng-controller="HomeController">
{{message}}
</div>
</body>
</html>
的script.js
var HomeController = function($scope) {
$scope.message = "First Controller";
};
答案 0 :(得分:1)
从
更新您的html<html ng-app>
到
<html ng-app="myApp">
将script.js更新为
angular.module("myApp", []).controller("HomeController", function($scope){
$scope.message = "First Controller";
});
答案 1 :(得分:1)
我从中下载了角度js https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js
好的angularjs版本1.4x不支持将原始功能控制器用作控制器。将angularjs版本更改为1.2.x或使用angular.module('someName').controller()
语法使其工作。
此处与您分享的plunkr相同(使用angularjs 1.2.8)
这里使用angular.module()语法
plnkr答案 2 :(得分:0)
用这个替换你的Script.js
var ng_app = angular.module('ng_app',[]);
ng_app.controller('HomeController', ['$scope', function($scope) {
$scope.message = "First Controller";
}]);
将html中的ng-app
修改为ng-app='ng_app'
答案 3 :(得分:0)
您的角度版本出现问题如果您使用旧版本,那么它可以正常使用
<html>
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>
<body ng-app>
{{8/7}}
<div ng-controller="HomeController">
{{message}}
</body>
</html>
<script >
// Code goes here
var HomeController = function($scope) {
$scope.message = "First Controller";
};
</script>
答案 4 :(得分:-1)
您正在使用不再受支持的旧语法。而不是将控制器定义为var
。添加ng-app="app"
,然后创建一个模块
var myApp = angular.module('app',[]);
现在定义你的控制器 -
myApp.controller("HomeController",function($scope){
$scope.message = "Hello";
});