在VueJS中完成方法后渲染表单

时间:2017-12-21 02:33:41

标签: vue.js

我的VueJS页面遇到问题。它是网站不同翻译的页面。它在语言选择的顶部有一个下拉列表,一旦切换,将使用当前语言更新字段。

问题在加载时开始,因为我的表单是这样的:

Linq

它尝试在方法返回任何数据之前访问这些属性,但不知何故,它仍然会在数据完成后显示数据,但是当我尝试切换语言时它会变得很麻烦,它会赢得'因为这个问题而且,如果我做以下事情:

<form id="trForm">
    ...
    <input type="text" name="header_title" class="form-control" v-model="translations.header.header_title" />
    ...
</form>

在每个字段上,未填充的字段将根据新输入值完全不显示任何字段。我试过像<form id="trForm"> ... <input type="text" name="header_title" v-if="translations.header" class="form-control" v-model="translations.header.header_title" /> ... </form> 这样的东西,但没有成功。

我还尝试在父块上设置一个条件,如果加载为false将显示表单,但由于页面首先被加载而不是执行该方法,所以在第一个微秒时它始终为false。

translations.features || ''

拜托,我该怎么办?在有数据后显示表单会很好。

1 个答案:

答案 0 :(得分:2)

  • 引入一个新变量,例如loaded默认为false
  • v-if
  • 上将此变量用作form条件
  • 在数据提取的回调中,将loaded设置为true