Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Vue.js中有条件地呈现元素?_Javascript_Vue.js - Fatal编程技术网

Javascript 如何在Vue.js中有条件地呈现元素?

Javascript 如何在Vue.js中有条件地呈现元素?,javascript,vue.js,Javascript,Vue.js,我是Vue.js的新手,我只是在这里阅读了关于条件渲染的文档(),但不知怎么的,它无法工作 我的代码: <button onclick="showTemplate()">Teste</button> <template v-if="app"> <div id="app"> {{ message }} </div> </template> function showTemplate(){

我是Vue.js的新手,我只是在这里阅读了关于条件渲染的文档(),但不知怎么的,它无法工作

我的代码:

<button onclick="showTemplate()">Teste</button>


<template v-if="app">

    <div id="app">
      {{ message }}
    </div>

</template>

function showTemplate(){
    var app = new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue!'
      }
    })
}
Teste
{{message}}
函数showTemplate(){
var app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”
}
})
}
我希望模板标记仅在应用程序实例化后呈现。 我也尝试过这种代码的变体,但没有成功。
有人能帮忙吗?

试试这个,然后取下按钮。您不需要在函数中调用实例

// put it on your index.html
<div id="app">
  {{ message }}
</div>

// put it on your script make sure that you have already a CDN of vuejs.
var app = new Vue({
   el: '#app',
   data: {
      message: 'Hello Vue!'
   }
})
//将其放在index.html上
{{message}}
//将其放在脚本中,确保您已经拥有vuejs的CDN。
var app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”
}
})

尝试此操作并卸下按钮。您不需要在函数中调用实例

// put it on your index.html
<div id="app">
  {{ message }}
</div>

// put it on your script make sure that you have already a CDN of vuejs.
var app = new Vue({
   el: '#app',
   data: {
      message: 'Hello Vue!'
   }
})
//将其放在index.html上
{{message}}
//将其放在脚本中,确保您已经拥有vuejs的CDN。
var app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”
}
})
使用。
v-clope
的预期用途是隐藏Vue,直到它被实例化

函数showTemplate(){
var app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”
}
})
}
[v-clope]{
显示:无;
}

睾丸
{{message}}
使用。
v-clope
的预期用途是隐藏Vue,直到它被实例化

函数showTemplate(){
var app=新的Vue({
el:“#应用程序”,
数据:{
消息:“你好,Vue!”
}
})
}
[v-clope]{
显示:无;
}

睾丸
{{message}}

您正在使用什么?CDN还是CLI?我正在使用CDN。。unpkg.com/vue“>代码与两者不同吗?是的,如果您开始学习vue.js,那么最好执行最佳实践。一个小注释:您在模板标记上使用了
v-if
,该标记位于实际装入vue实例的
div
之外。因此,我相信即使在创建了Vue实例之后,
标记也永远无法访问该Vue函数。您在使用什么?CDN还是CLI?我正在使用CDN。。unpkg.com/vue“>代码与两者不同吗?是的,如果您开始学习vue.js,那么最好执行最佳实践。一个小注释:您在模板标记上使用了
v-if
,该标记位于实际装入vue实例的
div
之外。因此,我相信即使在创建了Vue实例之后,
标记也永远无法访问该Vue功能。好吧,我不想立即加载“app”,只需单击按钮即可。。我不想在单击按钮之前在我的页面上显示原始标记{{message}}。@raphadko您想在单击按钮时显示该消息吗?我说的对吗?我不想马上加载“应用程序”,只想点击一个按钮。。我不想在单击按钮之前在我的页面上显示原始标记{{message}}。@raphadko您想在单击按钮时显示该消息吗?我说的对吗?这很好,但我怎么能做相反的事情呢?如果我想在从API获取数据并创建vue对象后隐藏“加载”屏幕?@raphadko这不是你问的问题。然而,有很多方法可以做到这一点。首先,可以使用Vue控制加载屏幕,在加载页面时显示加载屏幕,在使用您所了解的条件呈现技术返回数据时隐藏加载屏幕。如果由于某种原因,加载屏幕位于Vue之外,则在检索到数据后,您仍然可以对Vue代码隐藏它。这很好,但如何做相反的事情?如果我想在从API获取数据并创建vue对象后隐藏“加载”屏幕?@raphadko这不是你问的问题。然而,有很多方法可以做到这一点。首先,可以使用Vue控制加载屏幕,在加载页面时显示加载屏幕,在使用您所了解的条件呈现技术返回数据时隐藏加载屏幕。如果由于某种原因,加载屏幕在Vue之外,则在检索到数据后仍然可以对Vue代码隐藏它。