Serialization AngularJS视图模型序列化

Serialization AngularJS视图模型序列化,serialization,angularjs,scope,viewmodel,Serialization,Angularjs,Scope,Viewmodel,如何在AngularJS中序列化ViewModel($scope)?我计划将序列化的值存储到ASP.NET服务器端div,以便在回发过程中持久化。不确定是否应该序列化整个$scope(实际上,不应该这样做-它是一个复杂的对象。您应该只关心持久化自己的数据) 使用: 显然,JSON中有一个方法伴侣:$scope是AngularJS创建的与标记交互的对象。它可以包含可以从html引用的方法。您可以创建一个简单的JavaScript对象来存储和传输数据,并将其保留在您的范围内 $scope.model

如何在AngularJS中序列化ViewModel($scope)?我计划将序列化的值存储到ASP.NET服务器端div,以便在回发过程中持久化。

不确定是否应该序列化整个
$scope
(实际上,不应该这样做-它是一个复杂的对象。您应该只关心持久化自己的数据)

使用:


显然,JSON中有一个方法伴侣:

$scope
是AngularJS创建的与标记交互的对象。它可以包含可以从html引用的方法。您可以创建一个简单的JavaScript对象来存储和传输数据,并将其保留在您的范围内

$scope.model = { name : 'my model' };

我不确定您的ASP.Net应用程序是如何构造的,但这里是我的一些输入

如果您计划使用ASP.Net进行回发,我建议您重新考虑客户端框架。AngularJS和许多类似的框架并不适合使用回发模型。通常,当您使用像AngularJS这样的框架时会发生什么

  • 服务器根据请求将HTML内容(初始视图)发送到客户端浏览器
  • 浏览器将渲染视图
  • 客户端Javascript框架提供了必要的功能
从这一点开始就没有回发,大部分功能都是使用AJAX请求实现的,这不会导致浏览器刷新。 如果从一个页面导航到另一个页面,则再次重复上述过程


正如您所见,回发对于此设置来说并不自然,任何将这两个模型连接在一起的努力都不会产生最佳结果。

Hi Chandermani,我们的ASP.NET应用程序通过回发、自动AJAX(通过UpdatePanel)以及最近我们在混合中添加的AngularJS来工作。这是一个古老的大型应用程序,我们没有时间重新编码它的所有部分以使用AngularJS+AJAX,因此我们尝试通过混合技术来升级页面的某些部分。我们可以混合使用技术,但对于Angular,我们必须手动将viewmodel($scope)中的每个变量指定给序列化程序。我们正在寻找一条捷径/一条更简单的方法。嗯,这给了我一个主意。通过将所有viewstate变量分组到单个对象中,我只需要在序列化程序中指定父对象。而不是
$scope.var1=[]$scope.var2=[]
,使用
$scope.var={var1:[],var2:[]}$scope
$scope.model = { name : 'my model' };