Angularjs快速入门(二)

时间:2021-10-10 08:45:42

说说上一节的例子,$scope 我们没有创建这个对象,直接绑定就能获取里面的对象,这种风格遵循了一种叫迪米特法则的设计模式。

然后angular还有一种很强大的功能叫“指令”。

就是你可以吧模板编写成HTML的形式,而里面有些不属于HTML规范的东西,如引入的ng-controller。ng-model,接下来我们看个类似购物车的例子:

 <html ng-app=‘my-app’>
<head>
<tiltle>my shopping cart</title>
</head>
<body ng-controller='CartController'>
<h1>my order</h1>
<div ng-repeat='item in items'>
<span>{{item.title}}</span>
<input ng-model='item.quantity'>
<span>{{item.price|currency}}</span>
<span>{{item.price * item.quantity|currency}}</span>
<button ng-click="remove($index)">remove</button>
</div>
<script src="angular.js"></script>
<script>
function CarController($scope){
$scope.items=[
{title:'Paint pots',quantity:8,price:3.33},
{title:'Pack pots',quantity:5,price:2.33},
{title:'Pedbbles pots',quantity3,price:12}
];
$scope.remove=function(index){
$scope.items.splice(index,1);
}
}
</script>
</body>
</html>

这其中有几个解释的地方,第一个就是ng-app='my-app',这个表示整个页面都是angular管理页面

第二个,ng-repeat=‘item in items’表示items数组中的每个元素都把<div>的dom结构复制一份,包括div本身,items有三组数,所以现在有三个div

第三个,{{item.title}}通过{{}}绑定数据,与ng-model='item.quantity'创建绑定关系

第四个,

{{item.price|currency}}
{{item.price * item.quantity|currency}}过滤器
currency是货币过滤器是内置的它可以为我们实现美元格式化。 第五个,
ng-click="remove($index)"
删除按钮,能删除购物车的物品。