时间:2021-07-01 10:21:17 帮助过:2人阅读
- <!DOCTYPE html>
- <html>
- <head>
- <title></title>
- <script type="text/javascript" src="./vue.js"></script>
- </head>
- <body>
- <p id="app">
- <keep-alive>
- <child-component key="1" v-if="seen" name="1"></child-component>
- <child-component key="2" v-if="!seen" name="2"></child-component>
- </keep-alive>
- <button @click="toggle">toggle</button>
- </p>
- <script type="text/javascript">
- Vue.component('child-component', {
- template: `<input type="text" placeholder="enter">`,
- data() {
- return {}
- },
- props: ["name"],
- mounted() {
- console.log(`${this.name} mounted`)
- }
- })
- const vm = new Vue({
- el: "#app",
- data: {
- seen: true
- },
- methods: {
- toggle() {
- this.seen = !this.seen;
- }
- }
- })
- </script>
- </body>
- </html>
key是标识元素不再被复用,注意key是Vue中的一个保留的属性,不能作为prop传递给子组件,否则会在控制台看到Vue的报错
但是keep-alive标识不重复创建组件实例,也就是只会触发一次created mounted
事件,
利用两者可以对组件的复用进行比较精细的管理
以上就是Vue中key keep-alive的代码示例分析的详细内容,更多请关注Gxl网其它相关文章!