• 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>
                    Email
                </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>
  • 相关阅读:
    Mysql子查询、关联查询
    Mysql 注意细节
    IE和FF区别关于css和js
    php 使用curl模拟登录人人(校内)网
    解析php mysql 事务处理回滚操作
    《Linux内核设计的艺术》学习笔记(二)INT 0x13中断
    《Linux内核设计的艺术》学习笔记(一)从开机加电到加载三个汇编源码
    CSS笔记(一)CSS规则
    HTML笔记(七)head相关元素<base> & <meta>
    HTML笔记(六)文档类型
  • 原文地址:https://www.cnblogs.com/zhangpengc/p/5052885.html
Copyright © 2020-2023  润新知