2016-05-03 12 views
-1

Eigentlich habe ich json Umfang in ControllerJSON-Bereichsänderung wird in angularjs nicht angezeigt?

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 wird auf der Basis der Benutzereingabe gefüllt werden. Ich meine, es ist verbindlich. Der komplette JSON gefällt mir endlich.

{ 
     "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": [] 
     } 
     } 
    } 

Sobald diese JSON-Werte in der DB persistent. Wir müssen den Umfang klären. Wir greifen auf diesen Bereich wie folgt zu. Es ist nicht klar. aber Umfang wird geändert.

// 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(); 

Eine Sache, die ich hier hinzufügen möchte. Wenn ich ein bestimmtes Formularfeld ändern möchte, ändert sich die Ansicht.

Jeder bitte rate mir, wie Sie den Umfang löschen und müssen in Sicht zu reflektieren.

Vielen Dank im Voraus ..

+0

Gibt es keinen AJAX-Aufruf, der Daten in der DB speichert? – RahulB

+0

Was meinen Sie mit "clear the scope"? –

+0

@RahulB - Ja, wir verwenden Ajax Anruf – bagya

Antwort

-1

statt $digest verwenden Sie $apply versuchen. Es wird dein Problem lösen.

+0

Ich habe versucht, es zeigt Fehler $ gelten bereits im Gange, aber sehen Sie nicht ändern. – bagya

+0

Wenn nicht funktioniert, verwenden Sie '$ applyAsync'. –

+0

Funktioniert nicht. Ist es möglich, bitte geben Sie Beispiele für meine Anforderungen an. Danke – bagya