我的angularjs第三步

我的angularjs第三步

先新增一個html

third.html

 1 <!DOCTYPE html>
 2 <html ng-app>
 3 <head>
 4     <title>rwrwe</title>
 5     <script src="../js/angular.min.js"></script>
 6     <script src="../app/controller.js"></script>
 7 </head>
 8 <body ng-controller="CartController">
 9     <h1>Your Order</h1>
10     <div ng-repeat="item in items">
11         <span>{{item.title}}</span>
12         <input ng-model="item.quantity" />
13         <span>{{item.price|currency}}</span>
14         <span>{{item.price*item.quantity|currency}}</span>
15         <button ng-click="remove($index)">Remove</button>
16     </div>
17 </body>
18 </html>
third.html

一樣加入angulrjs

然後加入一個js

controller.js

 1 function CartController($scope) {
 2     $scope.items = [{
 3         title: "paint pots",
 4         quantity: 8,
 5         price: 3.95
 6     }, {
 7         title: "paint2 pots",
 8         quantity: 17,
 9         price: 12.95
10     }, {
11         title: "paint4 pots",
12         quantity: 5,
13         price: 6.95
14     }];
15     $scope.remove = function (index) {
16         $scope.items.splice(index, 1);
17     };
18 }
controller.js

 

說明如下:

<html ng-app>

ng-app屬性是要告訴Angular它應該要管理頁面的哪一個部份。因為是放在html元素上,所以是告知Angular

管理整個頁面。但是如果你正在集成Angular和一個已存在的使用其他方式管理頁面的應用,則可放在需要應用

的div上。

 

<body ng-controller="CartController" >

在Angular中,用JavaScript類管理的頁面區域叫做控制器。在body標籤中的CartController將管理body

標籤之間的任何東西。

 

<div ng-repeat="item in items‘ >

ng-repeat 代表為items數組中每個元素複製一次這div中的DOM。在div每次複製,同時設罝一個叫item的屬

性代表當前的元素,所以我們能夠在模板中使用。

 

<span>{{item.title}}</span>

資料綁定是利用{{}}把變數的值插入到頁面某部份保持同步。{{item.title}}檢索迭代中的當前項,然後將當

前項的title屬性值插入到DOM中。

 

<input ng-model="item.quantity">

ng-model定義創建了輸入字串和item.quantity之間的資料綁定。

span中的{{}}建立了一個單向聯繫,指在這裡輸入值。但是應用程序也需要知道,當用戶改變數量時,也能夠

改變總價,這是我們要的結果。

因此通過使用ng-model,將會使我們的模型保持同步更改。ng-model聲明將item.quantity的值插入至輸入框

中,無論何時輸入一個新值,都將自動更新item.quantity。

 

<span>{{item.price|currency}}</span>
<span>{{item.price*item.quantity|currency}}</span>

把單價和總價格式化成預設貨幣格式。Angular有一個過濾器的特性,currency。

 

<button ng-click="remove($index)">Remove</button>

Remove按鍵從購物車移除該項。我們已經設定,以便單擊該按鈕調用的remove()函數。 

我們還通過在$index,其中包含ng-repeat的迭代順序,所以我們知道要刪除的項目。

 

function CartController($scope){

CartController管理這睡物車的邏輯。通過這個我們告知Angular控制器需要一個叫$scope的對象。$scope

就是用來把資料綁定到使用者界面上的元素。

 

$scope.items = [
{title: ‘Paint pots‘, quantity: 8, price: 3.95},
{title: ‘Polka dots‘, quantity: 17, price: 12.95},
{title: ‘Pebbles‘, quantity: 5, price: 6.95}
];

這是一個資料,代表了用戶購物車中物品集合。

 

$scope.remove = function (index) {
        $scope.items.splice(index, 1);
    };

我們希望remove()函數可用來綁定在使用者界面上,所以我們也把它增加到$scope中。

對於這個暫時內存中的購物車,在Remove()函數只是可以直接從數組中刪除項目。 

因為通過ng-repeat創建的這些<div>是資料綁定的,當某項消失時,列表自動收縮。

請記住,每當用戶點擊Remove按鈕中的一個,都將從使用者界面上呼叫remove()函數。

我的angularjs第三步,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。