AngularJS Best Practices: resource
A factory which creates a resource object that lets you interact with RESTful server-side data sources.
The returned resource object has action methods which provide high-level behaviors without the need to interact with the low level $http service.
Requires the ngResource module to be installed.
A resource "class" object with methods for the default set of resource actions optionally extended with custom actions. The default set contains these actions:
{
  'get':    {method:'GET'},
  'save':   {method:'POST'},
  'query':  {method:'GET', isArray:true},
  'remove': {method:'DELETE'},
  'delete': {method:'DELETE'}
}
Let's try to use that
_Layout.cshtml
<!DOCTYPE html>
<html ng-app="app">
<head>
<title></title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<base href="/">
</head>
<body>
<!--<ul>
<li>
<a href="#/users">Users</a>
</li>
<li>
<a href="#/roles">Roles</a>
</li>
</ul>--> <ul>
<li>
<a ui-sref="users">Users</a>
</li>
<li>
<a ui-sref="roles">Roles</a>
</li>
</ul> <ul>
<li>
<a href="/users">Users</a>
</li>
<li>
<a href="/roles">Roles</a>
</li>
</ul> @RenderBody() <script type="text/javascript" src="/Scripts/libs/angular/angular.min.js"></script>
<!--<script type="text/javascript" src="/Scripts/libs/angular/angular-route.min.js"></script>-->
<script type="text/javascript" src="/Scripts/libs/angular/angular-resource.min.js"></script>
<script type="text/javascript" src="/Scripts/libs/angular-ui/ui-router/angular-ui-router.min.js"></script>
<script type="text/javascript" src="/Scripts/app/app.js"></script>
<script type="text/javascript" src="/Scripts/app/components/users/app.users.js"></script>
<script type="text/javascript" src="/Scripts/app/components/users/app.users.routes.js"></script>
<script type="text/javascript" src="/Scripts/app/components/users/services/user.service.js"></script>
<script type="text/javascript" src="/Scripts/app/components/users/controllers/user.controller.js"></script>
<script type="text/javascript" src="/Scripts/app/components/roles/app.roles.js"></script>
<script type="text/javascript" src="/Scripts/app/components/roles/app.roles.routes.js"></script>
<script type="text/javascript" src="/Scripts/app/components/roles/controllers/role.controller.js"></script>
</body>
</html>
app.users.js
(function() {
    'use strict';
    angular
        .module('app.users', [
            //'ngRoute',
            'ngResource',
            "ui.router"
        ]);
})();
user.service.js
(function() {
    'use strict';
    angular
        .module('app.users')
        .factory('UserService', ['$resource', function($resource) {
            return $resource(('/api/users/:id'), { id: '@Id' }, {
                list: { method: 'POST', url: '/api/users/list', isArray: true },
                get: { method: 'GET' },
                getNew: { method: 'GET', url: '/api/users/getnew' },
                create: { method: 'POST' },
                update: { method: 'PUT' },
                delete: { method: 'DELETE' }
            });
        }]);
})();
user.controller.js
(function() {
    'use strict';
    angular
        .module('app.users')
        .controller('UserController', ['$scope', 'UserService', function($scope, userService) {
            $scope.users = userService.list();
        }]);
})();
user-list.tpl.html
<h2>Users</h2> <table>
<thead>
<tr>
<th>
First name
</th>
<th>
Last name
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="user in users">
<td>
{{user.FirstName}}
</td>
<td>
{{user.LastName}}
</td>
<td>
{{user.Email}}
</td>
</tr>
</tbody>
</table>
AngularJS Best Practices: resource的更多相关文章
- 黄聪:AngularJS中的$resource使用与Restful资源交互(转)
		
原文:http://blog.csdn.net/he90227/article/details/50525836 1.AngularJS中的 $resource 这个服务可以创建一个资源对象,我们可以 ...
 - AngularJS中使用$resource
		
这个服务可以创建一个资源对象,我们可以用它非常方便地同支持RESTful的服务端数据源进行交互,当同支持RESTful的数据模型一起工作时,它就派上用场了. REST是Representat ...
 - AngularJS Best Practices: SEO
		
Google can execute AJAX & JavaScript for indexing, you can read the below link for more detailed ...
 - AngularJS Best Practices: pretty urls
		
By default, AngularJS will route URLs with a hashtag. For example: http://example.com/ http://exampl ...
 - AngularJs练习Demo19 Resource
		
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
 - AngularJs练习Demo18 Resource
		
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
 - 浅谈AngularJS中使用$resource
		
这个服务可以创建一个资源对象,我们可以用它非常方便地同支持RESTful的服务端数据源进行交互,当同支持RESTful的数据模型一起工作时,它就派上用场了. REST是Representational ...
 - AngularJS Best Practices: ng-include vs directive
		
For building an HTML template with reusable widgets like header, sidebar, footer, etc. Basically the ...
 - AngularJS Best Practices: ui-router
		
ui-router is a 3rd-party module and is very powerful. It supports everything the normal ngRoute can ...
 
随机推荐
- 2016 Multi-University Training Contest 6
			
5/12 2016 Multi-University Training Contest 6 官方题解 打表找规律/推公式 A A Boring Question(BH) 题意: ,意思就是在[0,n] ...
 - Useful links
			
Better JavaScript with ES6 Pt.IPopular Features pt.II A Deep Dive into Classes pt.III Cool Collectio ...
 - Leetcode Permutations
			
Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...
 - 用maven配置springboot+freemarker
			
1.创建项目 直接点下一步 原因: 不勾选 Create from archetype,是项目创建的骨架的时候,由于不知道什么原因就卡住了,一直在刷新 2.创建之后完成之后 添加依赖 <pa ...
 - phpcmsv9 阿里云OSS云存储整合教程
			
该教程算不上是phpcmsv9阿里云oss插件,所以整个修改及其代码覆盖前请一定记得备份.还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因:1.个人的需求是前台页面需要使用t ...
 - gVim的pathogen
			
1.安装gVim 1.选择Full模式 2. 在vimfiles 文件夹下,会有许多空文件夹.将它们全删掉. 3.将vim74文件夹下的"autoload"文件夹 剪切 到 vim ...
 - hdu 5122
			
只要一个数的后面有比它小的数,这个数就要移,于是从后往前一趟遍历,记录一下这些数的个数就可以了. #include"iostream" #include"stdio.h& ...
 - 微信分享JS函数(原创)[已失效]
			
//微信内置浏览器分享事件 //来自:http://www.cnblogs.com/cielwater //分享朋友圈事件 //UpdateWeixinJSBridge(CircleModel[Jso ...
 - XSS攻击
			
什么是XSS? http://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html XSS攻击及防御? http://blog.csdn. ...
 - 解决Android Studio Gradle Build Running慢的问题
			
Android Studio方便好用,但是Android Studio Gradle Build Running很慢 解决方法: C:\Users\你的用户名\.gradle 目录下新建一个文件名为 ...