2016-05-03 2 views
-1

На самом деле я есть JSon объем в контроллереJSON сменное изменение не отражает в поле зрения angularjs?

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 сохраняются в БД. Мы должны очистить сферу действия. мы получаем доступ к этой области вне этого. Непонятно. но сфера изменений.

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

Одна вещь, которую я хочу добавить здесь. Если я изменю конкретное поле формы, это изменит представление.

Кто-нибудь, пожалуйста, посоветуйте мне, как очистить сферу действия и вам нужно забрать.

Заранее спасибо ..

+0

Не существует ли вызов AJAX, который сохраняет данные в БД? – RahulB

+0

Что вы подразумеваете под «очистить сферу действия»? –

+0

@RahulB - Да, мы используем вызов Ajax – bagya

ответ

-1

вместо использования $digest вы пытаетесь $apply. Это решит вашу проблему.

+0

Я попытался показать, что ошибка $ apply уже выполняется, но просмотр не получает изменений. – bagya

+0

Если не работает, используйте '$ applyAsync'. –

+0

Не работает. Возможно, пожалуйста, приведите примеры, связанные с моим требованием. Спасибо – bagya

Смежные вопросы