㈠ 利用angularjs怎麼編寫前端代碼
先進入官網來。官網首頁就能夠源下載,點擊箭頭所示圖標,下載所需文件。
點擊以後彈出選擇對話框,如圖所示,我們可以直接點擊download圖標,這時下載的就只是基本文件,選擇zip後我們能夠將整個文件夾下載下來,這里隨便自己喜歡。
下載完成以後,解壓文件,開始准備寫項目。如果下載的是單個文件,就不需要解壓,下載的就只是angular.js文件,只需要直接飲用就可以了。
打開編輯器,創建一個新的項目,在項目中導入我們下載的文件,再創建一個新的文檔:index.html。在文檔中我們需要導入Angularjs庫,這里我們可以看到出現了很多其他的文件,這些文件有各自的意義,以後再說明。
先導入如圖所示的這行代碼,Angularjs基本庫已經導入了,說明我們可以開始使用它們。
㈡ 在AngularJS中怎麼實現讀取JSON數據後,根據同一店鋪名稱下循環購買的商品
function newgoods(goods){
var mygoods = [];
for (var i = 0; i < goods.length; i++) {
if(mygoods[goods[i].sstype]){
mygoods[goods[i].sstype].push(goods[i]);
}else{
mygoods[goods[i].sstype] = [];
mygoods[goods[i].sstype][0] = goods[i]
}
};
return mygoods;
}
var ngoods = newgoods(goods);
console.log(ngoods);
把數據處理一下再用吧,要用兩次ng-repeat
㈢ angular js 帶復選框購物車怎麼寫
前段時間研究過這個,並且寫了一個購物車的小例子,今天一個偶然的機會提起,可惜忘了差不多了,糊里糊塗的也沒說清楚。翻出來,提醒下自己,保持一顆學習的心,順便再復習一遍。
先上一個最終的效果圖
構圖比較簡單,主要功能:
1. 點擊購買的時候 進行數量的增加或者條目的增加,同時總價格變化;
2. 進行刪除的時候,刪除當前條目,總價變化;
3. 進行數目增加減少的時候,總價格變化;
好,下面說代碼,抓耳撓腮的想想,有點久遠印象不太深刻了;
關於angular的基本用法,這里就不嘮叨了,網上好多的教程;
首先是商品列表,這里自己隨意列舉了一些
<script>
var items = [{
id : '1',
name : '蜂蜜',
price : 30.00
},{
id : '2',
name : '黃豆醬',
price : 15.8
},
{
id : '3',
name : '護手霜',
price : 15.00
},
{
id : '4',
name : '保溫杯',
price : 29.9
},
{
id : '5',
name : '滑鼠',
price : 39.9
},{
id : '6',
name : '米老頭',
price : 8.8
}];
//購物車中的數據;
var boughtList = {};
</script>
主要的html代碼,重新注釋下也讓自己再熟悉一遍
<div class="wrap" ng-controller="showItem"><!-- ng-controller ng的語法 -->
<h5>商品列表</h5>
<div class="left itembox border" >
<ul>
<li class="left" ng-repeat="value in items" item-id={{value.id}}>
<p>{{value.name}}</p>
<p> {{value.price}}</p>
<p>
<a href="javascript:void(0);" ng-click="buyAction($event);"
name={{value.name}} price={{value.price}} item-id={{value.id}} >購買</a>
<!-- dom 事件時的$event 就相當於普通dom事件中的window.event 對象-->
</p>
</li>
</ul>
</div>
<!-- 購物車中的數據 -->
<div class="boughtlist border">
<ul>
<li ng-repeat="value in boughtList" item-id={{value.id}}>
<span>{{value.name}}</span>
<span>{{value.price}}</span>
<span style="width:100px;" item-id={{value.id}}>
<a href="javascript:void(0);" ng-click="value.num=value.num+1;changeNum($event,value.num);" >+</a>
<input class="border" type="number" min=0 ng-model="value.num" ng-init="value.num=1" ng-change="changeNum(value.id,value.num);"/>
<!-- 這里的ng-change 是值發生變化時觸發的事件,其實這里我原先想處理成 一個自動的mvc過程,無果,只好加事件了-->
<a href="javascript:void(0);" ng-click="value.num=value.num-1;changeNum($event,value.num);">-</a>
</span>
<a href="javascript:void(0);" item-id={{value.id}} ng-click="delItem($event);" >刪除</a>
</li>
</ul>
<p ng-init=0 >總價格:{{ total | number:1}}</p>
<!-- angular的優勢體現,number:1也就是number數據,小數點後一位。-->
</div>
我記得,當時覺得比較麻煩的是 input沒有ng-blur事件;
看下js代碼
var ng = angular;
var myapp = ng.mole('myapp',[]);
var common = {
getTotal : function(total){ //每次重新清零 算出總價,這樣的話為什麼還要傳total參數?當時怎麼想的?
total = 0;
for(var k in boughtList){
if(boughtList[k]){
if(boughtList[k].num <=0){
boughtList[k].num = 0;
}
total += boughtList[k].num*boughtList[k].price;
}
}
return total;
}
}
myapp.controller('showItem',function($scope){
$scope.items = items;
$scope.boughtList = boughtList;
$scope.total = 0;
for(var k in boughtList){
if(boughtList[k]){
$scope.total += boughtList[k].num*boughtList[k].price;
}
}
$scope.buyAction = function($event){
var el = $event.target;
var id = el.getAttribute('item-id');
if(boughtList[id]){
boughtList[id].num += 1;
}else{
var arr = [];
arr.name = el.getAttribute('name');
arr.price = el.getAttribute('price');
arr.num = 1;
arr.id = id;
boughtList[id] = arr;
}
$scope.total = common.getTotal($scope.total);
}
$scope.delItem = function($event){
var li = $event.target.parentNode;
li.parentNode.removeChild(li);
var id = $event.target.getAttribute('item-id');
if(boughtList[id]){
delete boughtList[id];
}
$scope.total = common.getTotal($scope.total);
}
$scope.changeNum = function($event,num){
var id;
if(typeof $event == 'string'){
id = $event;
}else{
id = $event.target.parentNode.getAttribute('item-id');
}
boughtList[id].number = num;
$scope.total = common.getTotal($scope.total);
}
});
㈣ 如何用Angular寫界面
首先你需要有良好的js,css,html基礎以及開發經驗,
然後寫界面之前你要明白框架(MVC)的概念,明白angularJS的操作以及語法,
然後安裝angularJS
然後在你的項目裡面創建angular應用程序 ng-app 表示angular是可以讀取的范圍
然後添加你需要控制的地方ng-controller
寫頁面
不懂的話自己復制運行自己看吧 實例:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<scriptsrc="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<style>
table,th,td{
border:1pxsolidgrey;
border-collapse:collapse;
padding:5px;
}
tabletr:nth-child(odd){
background-color:#f1f1f1;
}
tabletr:nth-child(even){
background-color:#ffffff;
}
</style>
<bodyng-app="myApp">
<tableng-controller="myCtrl"border="1">
<trng-repeat="xinrecords">
<td>{{x.Name}}</td>
<td>{{x.Country}}</td>
</tr>
</table>
<script>
varapp=angular.mole("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.records=[
{
"Name":"AlfredsFutterkiste",
"Country":"Germany"
},
{
"Name":"Berglundssnabbk",
"Country":"Sweden"
},
{
"Name":"CentrocomercialMoctezuma",
"Country":"Mexico"
},
{
"Name":"ErnstHandel",
"Country":"Austria"
}
]
});
</script>
</body>
</html>
㈤ 如何用angularjs實現拋物線購物車效果
、使用任何語言創建一個服務端:
public class ShoppingCar
{
public string Title { get; set; }
public decimal UnitPrice { get; set; }
public int Count { get; set; }
}
public ActionResult GetCar()
{
List<ShoppingCar> cars = new List<ShoppingCar>
{
new ShoppingCar { Title="蘋果",Count=1,UnitPrice=2.5m},
new ShoppingCar { Title="香蕉",Count=3,UnitPrice=1.5m},
new ShoppingCar { Title="苦瓜",Count=1,UnitPrice=3.5m},
new ShoppingCar { Title="黃瓜",Count=3,UnitPrice=2.2m}
};
return Json(cars,JsonRequestBehavior.AllowGet);
}
㈥ 怎樣用angular寫事件委託
在angular中,默認不支持事件代理,但是在處理大量數據的時候,尤其是一些列表的時候,事件代理是必須的,那應該怎麼樣實現這個代理呢,並且用起來很方便呢,此處實現一個,有參考nishp1的angular-delegate-event實現;增加了對象式代理,詳見使用方法
使用方法:
<ul ngd-click="itemClick($event, item)" selector="a">
<li ng-repeat="item in items"><a href="javascript:;">item.name</a></li>
</ul>
<ul ngd-event="itemClick($event, item)" event-name="click" selector="li">
<li ng-repeat="item in items"><a href="javascript:;">item.name</a></li>
</ul>
<ul ngd-event="{click:'itemClick($event, item)','dblclick':'itemDblClick($event)'}" selector="{click:'li',dblclick:'a'}">
<li ng-repeat="item in items"><a href="javascript:;">item.name</a></li>
</ul>
內置的一些事件:click, dblclick, mousedown, mouseup, mouseover, mouseout, mousemove, mouseenter, mouseleave
controller寫法
// 依賴DelegateEvents
var app = angular.mole('app', ['DelegateEvents']);
app.controller('listCtl', function($scope) {
$scope.itemClick = function(e, item) {
// do something...
// 註:
// e 原始的event對象,但是增加了delegationTarget => 代理target元素
//
// 對於selector這塊,如果引用了jQuery的話,則支持的是jquery的選擇器
// 對於支持matchesSelector的瀏覽器來說,支持的就是標準的選擇器;
// 否則的話只能支持tagName...
};
// itemDblClick 同理。。
})
㈦ 用angular寫這樣的效果:當點擊按鈕一和按鈕二切換背景顏色和字體顏色;代碼盡量可以運行效果,謝謝!!
哈哈,求作業的吧?
分數高我也不答,自己學學吧,沒壞處的
㈧ angular js 實現購物車功能,怎麼在不同的頁面之間更新數據
兩個頁面傳值要用後台伺服器,你是指1.html和2.html這樣的嗎?這和angular沒有關系,angular是用來內實現html和js的綁定的
html:<input ng-model="zs.name"/>
js:app.controller('控制器的容名字',function($scope){
$scope.zs={
name:'張三',
age:18
};
})
這樣$scope.zs.name變化會使input的value值改變,同時input的oninput事件觸發時會通知$scope.zs.name改變
㈨ 用Angular寫頁面的時候怎麼實時刷新頁面
以chrome為例,在設置里阻止網站設置任何數據,這樣刷新後就是更改後的頁面
這樣的缺點是其他頁面也會受影響,Angular同在學習中。
㈩ 如何用angular js 寫一個confirm
不知道這個confirm是模態框形式的,還是有什麼別的要求