Angularjs :控制器值未显示在 html 页面中
Angularjs : Controller values not getting displayed in html page
我刚开始学习角度.js .我在app.js文件中编写了一个基本控制器并设置了其属性。我正在尝试在 html 页面中访问这些数据,但徒劳无功。控制器属性值未显示在网页中。下面是代码:
应用程序.js :
(function(){
var app = angular.module('gemStore',[]);
var gem = {name: 'Diamond', price: 120, description: 'Hard'};
app.controller('StoreController', function() {
this.product = gem;
});
})();
索引.html
<!DOCTYPE html>
<html ng-app="gemStore">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js" ></script>
<script type="text/javascript" src="js/app.js" ></script>
<p> {{"Hello, Angular!"}}</p>
<div ng-controller="StoreController as store">
<h1>{{store.product.name}}</h1>
<h2>{{store.product.price}}</h2>
<h3>{{store.product.description}}</h3>
</div>
</body>
</html>
请告诉我哪里出错了!!
"控制器作为"语法是在 1.2.0(或大约(中添加的,我认为它不是在 1.0.7 中。尝试使用较新版本的 Angular。如果您坚持使用 1.0.7,则需要使用 $scope
.
您的 AngularJS 版本不支持StoreController as store
语法。将其更改为StoreController
,只需删除store
即可。此外,还必须将scope
对象inject
到控制器中,并改为设置其属性。
这是更新和工作的代码。
var app = angular.module('gemStore', []);
var gem = {
name: 'Diamond',
price: 120,
description: 'Hard'
};
app.controller('StoreController', ['$scope',
function($scope) {
$scope.product = gem;
}
]);
<!DOCTYPE html>
<html ng-app="gemStore">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<p>{{"Hello, Angular!"}}</p>
<div ng-controller="StoreController">
<h1>{{product.name}}</h1>
<h2>{{product.price}}</h2>
<h3>{{product.description}}</h3>
</div>
</body>
</html>
在 1.2 版中引入了 angular 中的控制器语法,您使用的是 1.0.7 版。如果将脚本标签中的 angular 版本更新为 1.2 或更高版本,它将正常工作。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js" ></script>
您也可以在以下链接中看到此操作正常工作:http://jsbin.com/tadinesime/2/edit
我希望这有所帮助。
Set
ng-app="gemStore"
在正文上(或任何包含您的 AngularJS 代码的 HTML 标签中(
这是JSFIDDLE:http://jsfiddle.net/49yrj986/
一门关于 http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/1/section/2/our-first-controller 如果其他人想尝试这些教程的课程
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 使用鼠标悬停JavaScript/HTML显示文本
- 用javascript在html显示列表中显示新成员
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- HTML 显示/隐藏元素 JS 不起作用
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 使用javascript for html显示特定时区的日期和时间
- 如何将一个元素的外部HTML显示为另一个元素的内容
- 将SQL BIT转换为JSON,直到jQuery,最后以HTML显示
- 使用 Javascript 迭代以 HTML 显示多个图像
- 文本(输入)字段中的 HTML 显示结果
- PHP - 作曲家自动加载器导致 html 显示在浏览器中
- 将HTML文件中的表单提交到PHP文件,并以相同的HTML显示结果
- 如何使 HTML/Javascript 从 PHP 脚本接收数据并以 HTML 显示
- 显示一个图像,然后使用 HTML 显示另一个图像
- input type=“password” 在 IE 11 上使用 HTML 5 显示文本
- 使用 JSON 从 PHP 返回数组并以 HTML 显示内容的适当方法
- Jquery对话框IE9内容未使用html显示
- HTML显示在“;查看源“;与Firebug中显示的HTML不同
- 使用jQuery.HTML()插入时HTML显示不正确