Page 164 - AngularJS权威教程
P. 164

144  第 15 章  同外界通信:XHR 和服务器通信


                 当然如果项目中使用了Bower,也可以用Bower来安装:

                 $ bower install restangular


                         Restangular依赖Lo-Dash或Underscore,因此为了确保Restangular可以正常运行,
                        需要引入这两个库中的一个。

                 如果通过Bower安装Restangular,Lo-Dash会同时被自动下载。

                 否则,可以通过jsDelivr 来引用lodash:
                                     ①
                 <script type="text/javascript"
                     src="//cdn.jsdelivr.net/lodash/2.1.0/lodash.compat.min.js">
                 </script>
                 也可以从http://lodash.com/上下载Lo-Dash或通过Bower安装它:

                 bower install--savelodash
                 然后在页面里引用脚本:

                 <script type="text/javascript"
                     src="/js/vendor/lodash/dist/lodash.min.js"></script>

                 同其他的AngularJS库一样,我们需要将restangular资源当作依赖加载进应用模块对象。
                 angular.module('myApp', ['restangular']);
                 完成后,就可以将Restangular服务注入到AngularJS对象中:

                 angular.module('myApp', [])
                 .factory('UserService', ['Restangular', function(Restangular) {
                     // 现在我们已经在UserService中访问了Restangular
                 }]);


             15.16  Restangular 对象简介

                 通过Restangular有两种方式创建拉取数据的对象。可以为拉取数据的对象设置基础路由:

                 var User = Restangular.all('users');
                 这样设置Restangular服务会让所有的HTTP请求将/users路径作为根路径来拉取数据。例如,
             调用上述对象的getList()方法会从/users拉取数据:

                 var allUsers = User.getList(); // GET /users
                 当然也可以通过单个对象来发送嵌套的请求,可以用唯一的ID来代替路由发送请求:

                 var oneUser = Restangular.one('users', 'abc123');
                 上面代码的效果是调用oneUser上的get()时向/users/abc123发送请求。

                 oneUser.get().then(function(user) {
             ——————————
                ① http://www.jsdelivr.com/#!lodash
   159   160   161   162   163   164   165   166   167   168   169