在AngularJS上传后重新加载所有应用程序

时间:2016-11-14 16:43:05

标签: javascript angularjs render

我正在做一个非常大的应用,需要保存Javascript对象并将其保存到客户端的磁盘,反之亦然:检索JSON对象并解析它。

我设法保存并上传文件,但问题在于:当文件成功上传(从控制台和检查员检查)时,Angular在ng-repeats上没有显示任何内容,ng-模型...

我假设问题是Angular不知道对象已经改变。我很想知道,因为我似乎无法在任何地方找到它:如何重新渲染我的所有Angular应用程序?

1 个答案:

答案 0 :(得分:0)

我们在一个Angular项目中所做的是某种' cacheId'。

  1. 因此,想象一下简单的POST服务生成随机整数。
  2. 想象一下,另一个GET服务会返回该号码。
  3. 现在,在Angular模板中,无论您在何处指定模板名称,都要添加' cacheId'作为参数。

    取而代之的是:

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

    那样做:

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

    有什么好处?

    1. 您可以点击resetCache()网址并生成不同的cacheId
    2. 客户端将在下一个请求中获得不同的cacheId
    3. 浏览器会将html模板网址视为新网址并重新加载模板
    4. 通过重新加载模板,您将获得
    5. 中的新数据

      这样的事可能有用。