zoukankan      html  css  js  c++  java
  • $resource

    属性/URL映射

    AngularJS Resource:与 RESTful API 交互

    自定义$resource方法

    <!DOCTYPE html>
    <html ng-app="app">
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div ng-controller="controller">
            <button ng-click="get()">get</button>
            <button ng-click="query()">query</button>
            <button ng-click="save()">save</button>
            <button ng-click="remove()">remove</button>
            <button ng-click="sendEmail()">sendEmail</button>
        </div>
        <script src="angular.js"></script>
        <script src="angular-resource.js"></script>
        <script>
            angular.module('app', ['ngResource']).controller('controller', ['$scope', 'Game', function($scope, Game) {
                $scope.get = function() {                 
                    // data1.json?group=1&id=id
                    // GET
                    Game.get({
                        gameId: 'data1',
                        id: 'id'
                    }, function(resp) {
                        console.log(resp)
    
                        resp.name = 'jiji3'                    
                        // data2.json?group=1
                        // POST
                        // {id: "data2", name: "jiji3"}
                        resp.$save()
                    }, function(err) {
                        console.log(err)
                    })
                }
    
                $scope.query = function() {
                    // data1.json?group=1&id=id
                    // GET
                    Game.query({
                        gameId: 'data1',
                        id: 'id'
                    })
                }
    
                $scope.save = function() {
                    // data1.json?group=1&id=id
                    // POST
                    // {name: "Ari"}
                    Game.save({
                        gameId: 'data1',
                        id: 'id'
                    }, {
                        name: 'Ari'
                    })
                }
    
                $scope.remove = function() {
                    Game.remove({}, {
                        gameId: 'data1',
                        id: 'data2'
                    })
                    /*
                        {
                            gameId: 'data1',
                            id: 'data2'
                        }
    
                        这2个{}是数据 所以匹配@id
                    */
                }
    
                $scope.sendEmail = function() {
                    Game.sendEmail({
                        id: 'data1'
                    })
                }
            }]).factory('Game', ['$resource', function($resource) {
                /**
                 * $resource(url[, paramDefaults][, actions]);
                 * If the parameter value is prefixed with @ then the value of that parameter is extracted from the data object 
                 * (useful for non-GET operations).
                 */
                return $resource('/test/test/:gameId.json', {
                        gameId: '@id',
                        group: '1'
                    }, {
                        sendEmail: {
                            method: 'POST'
                        }
                    })
            }])
        </script>
    </body>
    </html>

    data1.json

    {
        "id": "data2",
        "name": "jiji1"
    }

    data2.json

    {
        "id": "data1",
        "name": "jiji2"
    }
  • 相关阅读:
    开启sentry权限控制hue
    hive_server2的权限控制
    自带的simple认证
    tableau备份
    tableau分布式添加节点
    升级tableau版本
    tableau日常管理
    mavn Nexus Repository Manager漏洞
    第3章:打造命令行工具
    基于从库+binlog方式恢复数据
  • 原文地址:https://www.cnblogs.com/jzm17173/p/4905348.html
Copyright © 2011-2022 走看看