angularjs – 如何引导数据,因为它是由Angular.js中的$资源服务获取的

我有这个Rails应用程序,由UsersController提供一个index.html.erb.在处理该页面的角度控制器中,我为用户提供了$资源服务

CoffeeScript的

.factory('User',['$resource',($resource) ->
  $resource 'api/users/:user_id/:action',{authenticity_token:app.csrf},query:
      method: 'GET'
      isArray: yes
    new:
      method: 'GET'
      params:
        user_id: 'new'
    update:
      method: 'PUT'
])

控制器提取

window.app = angular.module("app",['userServices'])
.config(["$routeProvider",($routeProvider) ->
  $routeProvider
  .when "/users",templateUrl: "assets/templates/users/index.html"
    controller: UserCtrl

  .otherwise redirectTo: "/users"
])

# users Controllers
UserCtrl = ($scope,User) ->
  User.query (r) ->
    $scope.users = r
    # code..

我认为这是一个很常见的情况,但显然,这个页面只需要一次到服务器.我想知道Angular是否有一种方法来使用一些引导数据,因为它们是从$资源服务中调用的操作返回的数据.

通过将Gon ruby​​ gem分配给一个名为Gon的全局变量,我已经对引导数据部分进行了处理.我知道我可以简单地做$scope.users = gon.users.但是,这些用户模型不会得到像$scope.users [0]的优点$save()

谢谢!

事实证明,这真的很简单!

对于实例,假设您拥有变量_tasks和角度$资源模型任务中的所有非角度模型,所有您需要做的是将_tasks逐个传递到构造函数任务中,如下所示:

$scope.tasks = (new Task(task) for task in _tasks)

那么每个$scope.tasks都将具有所有这些$update(),$delete()方法

$scope.tasks[0].$update({due_at: new Date})

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...