2016-11-14 64 views
0

我正在做一個相當大的應用程序,需要保存一個Javascript對象並將其保存到客戶端的磁盤並反之亦然:檢索JSON對象並解析它。

我已經設法保存並上傳文件,但問題來了:當文件成功上傳(從控制檯和檢查器中檢查)時,Angular不會在ng-repeats,ng-model中顯示任何內容。 ..

我認爲問題在於Angular不知道對象已經改變。我想知道,因爲我似乎沒有找到它:我該如何重新呈現我的所有Angular應用程序?在AngularJS中上傳後重新加載所有應用程序

+0

刷新頁面應該這樣做 – George

+0

謝謝@GeorgeLee!我忘了提到所有的都是客戶端,因此刷新也會將我想要更新的對象重置到我的視圖中。 我敢肯定,介於兩者之間的東西。 非常感謝! –

+0

只是說明了明顯的,但是你叫'$ scope。$ apply()'? – LoremIpsum

回答

0

我們在其中一個Angular項目中做了什麼,是某種'cacheId'。

  1. 想象一下,簡單的POST服務會生成隨機整數。
  2. 想象一下另一個GET服務返回這個數字。

現在,在您的Angular模板中,無論您指定模板rul名​​稱,請將'cacheId'添加爲參數。

取而代之的是:

templateUrl: 'some-folder/some-template.tpl.html' 

這樣做:

templateUrl: 'some-folder/some-template.tpl.html?cachedId=' + someService.cacheId 

什麼優勢呢?

  1. 您可以點擊resetCache()的URL,併產生不同的cacheId
  2. 客戶端將在接下來的請求得到不同cacheId
  3. 瀏覽器將把HTML模板URL作爲新的URL,並通過重新加載模板重載模板
  4. 你會得到新的數據

這樣的東西可能會起作用。

相關問題