繁体   English   中英

如何从angularjs中的$ scope获取普通对象?

[英]How to get plain object from $scope in angularjs?

我将下载的json对象放入一个有角度的$ scope中,但我发现angular在其中添加了一些与框架相关的属性。

我想将修改后的对象发送回服务器,是否有一种方便的方法可以删除角度属性并获取没有角度范围属性的普通对象,如$$hashkey

编辑:

可能重复的问题没有提供我需要的答案。

调用angular.toJson会给我一个简单的字符串"$SCOPE" ,而调用angular.copy抛出错误。 我猜他们不是设计用于$ scope对象本身?

你是对的, angular.toJson不支持$scope对象,你可以在源代码中看到: Angular.js#L979

您可以将JSON.stringify()与自定义的replacer函数一起使用,并像这样复制angular.toJson()的一部分逻辑;

JSON.stringify(obj, function(key, value) {
  if (typeof key === 'string' && (key.charAt(0) === '$' || key === 'this')) {
    // ignore any key start with '$',
    // and also ignore 'this' key to avoid a circular reference issue.
    return undefined;
  }

  return value;
});

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM