JSON范围变化在angularjs中不反映在视图中?

时间:2016-05-03 16:22:05

标签: javascript angularjs json

实际上我在控制器中有json范围

  bosAppModule.controller("module-menu-controller", function($scope, $compile, $http, layoutRenderingDataFactory) { 
        $scope.transactionalData={};
        $scope.transactionalData.Data={"entityinfo":{"entity":"","tenantId":"292FEC76-5F1C-486F-85A5-09D88096F098","timeStamp":"2015-12-15T10:16:06.322Z"},"collections":{}};
    });

$ scope.transactionalData将根据用户输入填充。我的意思是它具有双向约束力。完整的JSON就像最后一样。

 {
      "entityinfo": {
        "entity": "Customer29Jan16",
        "tenantid": "292FEC76-5F1C-486F-85A5-09D88096F098",
        "timestamp": "2015-12-15T10:16:06.322Z"
      },
      "collections": {
        "customer29jan16": {
          "rowset": [
            {
              "cuid": "6293f82f-d202-45c0-9a7b-46cd955361a3",
              "name": "test",
              "quantity": "60",
              "rate": "60",
              "amount": "3600"
            }
          ],
          "meta": {
            "parentreference": "***",
            "pkname": "***",
            "fkname": "***"
          },
          "rowfilter": []
        },
        "customer29jan16obj": {
          "rowset": [
            {
              "cuobjid": "83bfc652-9f83-47d3-b173-b1a824ff3bed",
              "fulladdress": "Electronic City",
              "objaddr": "Bangalore",
              "objname": "Testing",
              "customer29jan16objcuid": "6293f82f-d202-45c0-9a7b-46cd955361a3"
            }
          ],
          "meta": {
            "parentreference": "***",
            "pkname": "***",
            "fkname": "***"
          },
          "rowfilter": []
        }
      }
    }

一旦此JSON值在DB中持续存在。我们必须明确范围。我们正在这样访问这个范围。 目前尚不清楚。但范围正在变化。

// get the scope of module and menu controller
            var moduleMenuControllerScope = angular.element("[ng-controller=module-menu-controller]").scope();

            // clear the crudObject
            moduleMenuControllerScope.transactionalData.Data.collections = {}; 
            moduleMenuControllerScope.$digest();

我想在此添加一件事。如果我要更改特定的表单字段,那么它将更改视图。

任何人都可以告诉我如何清除范围并需要在视野中进行反思。

提前致谢..

1 个答案:

答案 0 :(得分:-1)

而不是使用$digest,您尝试$apply。它会解决你的问题。