使用页内JSON初始化AngularJS $资源

Kri*_*aun 14 angularjs

我正在使用AngularJS'$资源来获取和更新对象.为了在页面加载时保存往返,我在页面上的变量中有JSON对象.如何用这些数据初始化$ resource而不是调用$ get?

Mic*_*ley 6

您可以使用new以创建使用以下内容创建的资源实例$resource:

window.somePreloadedJson = {
  id: 1,
  name: 'lancelot',
  quest: 'holy grail',
  color: 'blue',
};

app.factory('myResource', function($resource) {
  return $resource('/my/fake/:id', { id: '@id' });
});

...

$scope.resource = new myResource(window.somePreloadedJson);
Run Code Online (Sandbox Code Playgroud)

下面是该技术对的jsfiddle的例子,这表明$save,$delete等工作,对创建的实例如预期.(已添加一些调试代码来注销HTTP请求而不是实际创建它们,因此您可以看到页面中的请求.)

  • 如果 window.somePreloadedJson 是一个数组,你能做类似的事情吗?即,如果您执行 $resource('foo/:id').query() 调用,您会得到什么? (2认同)