4 回答

TA貢獻1852條經驗 獲得超7個贊
1、插件源碼主要基于angular directive來實現。 2、調用時關鍵地方是后臺請求處理函數,也就是從后臺取數據。 3、插件有兩個關鍵參數currentPage、itemsPerPage,當前頁碼和每頁的記錄數。 4、實現方法調用后我們需要根據每次點擊分頁插件頁碼時重新提交后臺來獲取相應頁碼數據。 在調用的頁碼中我使用了$watch來監控。 我初次使用時是把調用函數放在了插件的onchange中,結果發現每次都會觸發兩次后臺。這個地方需要注意。 5、我把請求后臺封裝成了Service層,然后在Controller里調用,也符合MVC思想。

TA貢獻1735條經驗 獲得超5個贊
為了實現這一點,Angular提供了一個叫做$http的服務。它提供了一個可擴展的抽象方法列表,使得與服務器的交互更加容易。它支持HTTP、JSONP和CORS方式。它還包含了安全性支持,避免JSON格式的脆弱性和XSRF。它讓你可以輕松地轉換請求和響應數據,甚至還實現了簡單的緩存。
例如,我們打算讓購物站點從服務器上獲取商品信息,而不是從內存假數據獲取。如何編寫服務端代碼已經超越了本書的范疇,所以,我們僅僅來想象一下,比方說我們已經創建了一個服務器,當查詢/products 路徑時,它會以JSON格式返回一個商品列表。
返回的響應示例如下:
[
{
"id": 0,
"title": "Paint pots",
"description": "Pots full of paint",
"price": 3.95
},
{
"id": 1,
"title": "Polka dots",
"description": "Dots with that polka groove",
"price": 12.95
},
{
"id": 2,
"title": "Pebbles",
"description": "Just little rocks, really",
"price": 6.95
}
...etc...
]
我們可以像下面這樣編寫查詢代碼:
function ShoppingController($scope, $http) {
$http.get('/products').success(function(data, status, headers, config) {
$scope.items = data;
});
}
然后在模板中這樣使用它:
<body ng-controller="ShoppingController">
<h1>Shop!</h1>
<table>
<tr ng-repeat="item in items">
<td>{{item.title}}</td>
<td>{{item.description}}</td>
<td>{{item.price | currency}}</td>
</tr>
</table>
</div>
</body>
正如我們前面講過的,從長遠來看,讓服務來代理與服務器交互的工作對我們有好處,這個服務可以被多個控制器共享。

TA貢獻1982條經驗 獲得超2個贊
可以參考下面這個例子:
寫個xxx.service.ts文件
@Injectable()
export class xxxService {
getOO(){
let url = '';
let params = new URLSearchParams();
params.set('id', 值) //值是字符串類型
return this.http.get(url, params) //需要引入http
}
}
然后再component里面需要在construct里面注入
constructor(private ooSer:ooService ) {}
之后就可以調用了
ngOnInit(){
this.ooSer.getOO();
}
- 4 回答
- 0 關注
- 1525 瀏覽
添加回答
舉報