我是 angularJS 的新手,并试图让以下简单的示例发挥作用。但是当我运行它时,我得到的是空白屏幕而不是“Hello world”。非常感谢您的帮助。谢谢。
Angular -comp.js:
angular.module('myApp').component('greetUser', {
template: 'Hello, {{$ctrl.user}}!',
controller: function GreetUserController() {
this.user = 'world';
}
});
index.html:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="ISO-8859-1">
<title>AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"> </script>
<script src="js/angularcomp.js"></script>
</head>
<body>
<greet-user></greet-user>
</body>
</html>
更新:我发现问题了,1.4.5版本不支持组件。我现在使用 1.6.1 并且它可以工作!!!!!
最佳答案
问题就出在这里
angular.module('myApp')
这应该在哪里
angular.module('myApp',[])
因为您正在创建一个新模块。如果您不传递第二个数组参数,AngularJS 将尝试查找您的模块,而不是创建一个新模块。
试试这个:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>AngularJS</title>
</head>
<body ng-app="myApp">
<greet-user></greet-user>
</body>
<script>
angular.module('myApp',[])
.component('greetUser', {
template: 'Hello, {{$ctrl.user}}!',
controller: function GreetUserController() {
this.user = 'world';
}
});
</script>
</html>
关于javascript - 使用 angularJS .component() 但没有得到任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147583/