我正在学习代码学校的AngularJS教程,但我的JavaScript无法呈现到HTML语言中。
这是HTML
<html ng-controller="StoreController as store">
<head>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
</head>
<body>
<div>
<h1> {{store.product.name}} </h1>
<h2> $ {{store.product.price}} </h2>
<p> {{store.product.description}} </p>
</div>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>
这是一个角度
(function(){
var app = angular.module("store", []);
app.controller('StoreController',function(){
this.product = gem;
});
var gem = {
name: 'Dodecahedron',
price: 2.95,
description:"..."
};
})();
角度只是呈现为纯文本
发布于 2014-06-17 07:31:14
顶部缺少ngApp。
<html data-ng-app="store">
<head>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
</head>
<body>
<div ng-controller="StoreController as storeCtrl">
<h1> {{storeCtrl.product.name}} </h1>
<h2> $ {{storeCtrl.product.price}} </h2>
<p> {{storeCtrl.product.description}} </p>
</div>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>
你的gem
变量是由angular使用的,在它实际定义之前。
(function(){
var app = angular.module("store", []);
var gem = {
name: 'Dodecahedron',
price: 2.95,
description:"..."
};
app.controller('StoreController',function(){
this.product = gem;
});
)();
我建议将script
标记移到顶部,因为这样做可以让html呈现得更快,但这会导致在angular应用程序中显示丑陋的占位符几毫秒。
将-Ctrl
后缀附加到控制器视图变量,这将清楚地表明,当您执行所有访问控制器或它只是一个作用域变量时。
https://stackoverflow.com/questions/24257952
复制相似问题