当前位置: 首页 > 知识库问答 >
问题:

非同步加载模板

寇丰
2023-03-14

我正在构建我的第一个VueJs应用程序,我想异步加载我的模板。在我们的框架中,我们将模板存储在数据库中,这就是为什么。它一直在工作,直到我的模板中有一些嵌套的dom元素,而没有任何数据绑定到它为止。所以我的Vuejs就像:

var app = new Vue({
  el: '#app',
  data: {
    finish: false,
    template: null
  },
  render: function(createElement) {
    if (!this.template) {
      return createElement('div', 'loading...');
    } else {
      return this.template();
    }
  },
  mounted() {
    var self = this;
    $.post('myUrl', {foo:'bar'}, function(response){
      var tpl = response.data.template;
      self.template = Vue.compile(tpl).render;
    })
  }
})

这是工作时,我的模板是这样的:

<div v-show="!finish">
  <p>Test</p>
</div>

但如果是这样的话:

<div v-show="!finish">
  <p>
    <span>Test</span>    
  </p>
</div>

我明白了

[Vue warn]:呈现中出错:“TypeError:无法读取未定义的”(在中找到)的属性“0”

但如果是这样的话:

<div v-show="!finish">
  <p v-show="!finish">
    <span>Test</span>    
  </p>
</div>

它又开始工作了。

有人能解释一下这里发生了什么吗?这是正确的方法还是我应该用另一种方法?

共有1个答案

楚嘉胜
2023-03-14

我猜你应该试试v-if而不是v-showv-show所做的是更改display属性,vue仍在尝试渲染元素。

文件

 类似资料:
  • 问题内容: 是否可以异步加载Node.js模块? 这是标准代码: 但是我想写这样的东西: 有没有办法做到这一点?还是有一个很好的理由为什么不支持回调? 问题答案: 尽管是同步的,并且Node.js并未提供现成的异步变体,但是您可以轻松地自己构建一个变体。 首先,您需要创建一个模块。在我的示例中,我将编写一个模块,该模块从文件系统异步加载数据,但是当然是YMMV。因此,首先,使用老式的,不需要的同步

  • 我正在尝试使用从多个位置加载模板。这个项目是使用开发的。 我有两个maven项目: > 我的网站:maven的主要项目,包含自定义模板,例如WEB-INF/ftl/landing/login。ftl 通用模板:包含位于WEB-INF/ftl的通用freemarker模板,例如WEB-INF/ftl/landing/login。ftl 例如,Freemarker的想法是在“我的网站”中搜索登陆/登录

  • 我已经在Eclipse SWT应用程序中嵌入了JavaFX的WebView,需要加载html内容。我需要阻止当前线程的执行,直到webengine加载完内容。任何熟悉这种情况并能给出一些提示和/或最佳实践来实现这一点的人?SWT和JavaFX似乎都在同一个UI线程中运行。 谢谢

  • 本文向大家介绍JS同步、异步、延迟加载的方法,包括了JS同步、异步、延迟加载的方法的使用技巧和注意事项,需要的朋友参考一下 本文讲述了JS同步、异步、延迟加载的方法。分享给大家供大家参考,具体如下: 一:同步加载 我们平时使用的最多的一种方式。 <script src="http://yourdomain.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续

  • 模板加载器 模板加载器是加载基于抽象模板路径下,比如 "index.ftl" 或 "products/catalog.ftl" 的原生文本数据对象。 这由具体的模板加载器对象来确定它们取得请求数据时使用了什么样的数据来源 (文件夹中的文件,数据等等)。当调用 cfg.getTemplate (这里的 cfg 就是 Configuration 实例)时, FreeMarker询问模板加载器是否已经为

  • 为什么下面的代码不能保证多个线程之间total_home数字的唯一性,即使逻辑处于同步块中。 } } } 这是一个程序示例。试着运行5-10次,你会发现total_home的值并不是每次都是唯一的。