当前位置: 首页 > news >正文

重庆网站建设 沛宣成都比较靠谱的seo

重庆网站建设 沛宣,成都比较靠谱的seo,《电子商务网站建设 》,网站建设售后培训文章目录一、概念二、代码演示1、is 属性绑定已注册组件的名字2、is 属性绑定组件对象3、在动态组件上使用 keep-alive三、资料一、概念 Vue.js 提供了一个特殊的元素 &#xff1c;component> 用来动态地挂载不同的组件 使用 is 属性来选择要挂载的组件。 <!-- 组件会在…

文章目录

  • 一、概念
  • 二、代码演示
    • 1、is 属性绑定已注册组件的名字
    • 2、is 属性绑定组件对象
    • 3、在动态组件上使用 keep-alive
  • 三、资料


一、概念

Vue.js 提供了一个特殊的元素 <component> 用来动态地挂载不同的组件 使用 is 属性来选择要挂载的组件。

<!-- 组件会在 `currentTabComponent` 改变时改变 -->
<component v-bind:is="currentTabComponent"></component>

在上述示例中,currentTabComponent 可以包括

  • 已注册组件的名字,或
  • 一个组件的选项对象

二、代码演示

1、is 属性绑定已注册组件的名字

<div id="app"><button @click="changeView('A')">切换到组件A</button><button @click="changeView('B')">切换到组件B</button><button @click="changeView('C')">切换到组件C</button><component :is="currentView"></component>
</div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>let vm = new Vue({el: "#app",data: {currentView: 'comA'},components: {comA: {template: '<div>组件A</div>'},comB: {template: '<div>组件B</div>'},comC: {template: '<div>组件C</div>'}},methods: {changeView(component) {this.currentView = 'com' + component;}}});
</script>

效果如图所示:
在这里插入图片描述

2、is 属性绑定组件对象

<div id="app"><component :is="currentView"></component>
</div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>let Home = {template:'<div>我是组件</div>'}let vm = new Vue({el: "#app",data: {currentView: Home}});
</script>

3、在动态组件上使用 keep-alive

我们之前曾经在一个多标签的界面中使用 is 属性来切换不同的组件

<component v-bind:is="currentTabComponent"></component>

当在这些组件之间切换的时候,我们有时会想保持这些组件的状态,以避免反复重渲染导致的性能问题。

我们来看一个案例:

在这里插入图片描述
在这个案例中,如果我们选择了一篇文章,点击 “我的” 标签,然后再切换回 文章组件,是不会继续展示之前选择的文章的。这是因为你每次切换新标签的时候,Vue 都创建了一个新的组件实例。

重新创建动态组件的行为通常是非常有用的,但是在这个案例中,我们更希望那些标签的组件实例能够被在它们第一次被创建的时候缓存下来。为了解决这个问题,我们可以用一个 <keep-alive> 元素将其动态组件包裹起来。

<!-- 失活的组件将会被缓存!-->
<keep-alive><component v-bind:is="currentTabComponent"></component>
</keep-alive>

修改后的效果如下:

在这里插入图片描述
现在这个 文章组件 标签保持了它的状态 (被选中的文章) 甚至当它未被渲染时也是如此。

keep-alive 是vue的一个内置组件,主要用于保留组件状态或避免重新渲染<keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。

注意这个 <keep-alive> 要求被切换到的组件都有自己的名字,不论是通过组件的 name 选项还是局部/全局注册。

本案例的完整代码如下,大家可以直接复制粘贴到自己本地的一个html文件来运行测试:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>test</title><style>.article {display: flex;}.left {width: 100px;border: 1px solid red;}.right {width: 200px;border: 1px solid blue;}li {cursor: pointer;}.selected {color: red;}</style>
</head>
<body><div id="app"><button @click="changeView('comA')">文章</button><button @click="changeView('comB')">我的</button><keep-alive><componet :is="currentView"></componet></keep-alive>
</div>  <template id="cpn1"><div class="article"><div class="left"><ul><li v-for="(item,index) in articles" @click="articleClick(index)":class="{selected:currentIndex === index}">{{item.name}}</li></ul></div><div class="right">{{content}}</div></div>
</template><template id="cpn2"><div><h2>我的界面</h2></div>
</template><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>let comA = {template: '#cpn1',data() {return {articles: [{name: '文章1', content: '内容1'},{name: '文章2', content: '内容2'},{name: '文章3', content: '内容3'}],currentIndex: '',content: '请选择一篇文章'}},created() {console.log('文章组件被创建');},destroyed() {console.log('文章组件被销毁');},methods: {articleClick(index) {this.content = this.articles[index].content;this.currentIndex = index;}}}let comB = {template: '#cpn2'}let vm = new Vue({el: "#app",data: {currentView: 'comA'},components: {comA,comB},methods: {changeView(component) {this.currentView = component;}}});
</script>
</body>
</html>

三、资料

动态组件 | vue官网

keep-alive | vue官网

前端学习交流QQ群,群内学习讨论的氛围很好,大佬云集,期待您的加入:862748629 点击加入

http://www.wooajung.com/news/34859.html

相关文章:

  • wordpress多网站整合在一个后台企业域名查询
  • 自建网站成都新手怎么做电商运营
  • 个性化推荐网站开发源码文案写作软件app
  • 网站的布局和配色建立网站怎么搞
  • 如何让网站收录公司名买链接网
  • 百度移动网站生成网站推广多少钱一年
  • 永州网站建设包括哪些公司网络优化方案
  • 郸城建设银行网站友情链接查询结果
  • 长沙企业网站建设团队长沙市seo百度关键词
  • 蓝领网站做的最好网页设计软件
  • django网站开发规范如何查看百度指数
  • 个人网站建设费用北京网站优化排名
  • 手机优化大师官方版广州seo好找工作吗
  • eclipse模仿网站开发源代码惠州网络营销
  • 网站建设哪家好佛山网站优化软件
  • xxx网站建设策划书范文手机百度2020最新版
  • 网站建设费入网站建设方案设计书
  • wordpress 上传mp4优化网站搜索
  • 商标注册查询是否有人注册了怎么查南宁百度seo排名价格
  • 浏阳网站建设tvshown网络营销seo优化
  • 如何将网站提交给谷歌专业制作网站的公司哪家好
  • 苹果cms永久免费建站新闻联播直播 今天
  • 通过高权重网站做长尾关键词网址大全下载
  • wordpress meta key长岭网站优化公司
  • 腾讯企业邮箱网页登录入口东营seo网站推广
  • 微盟集团官网seo自学教程
  • 群辉可以做网站服务器吗上海百度推广排名
  • wordpress 文本编辑插件岳阳seo快速排名
  • 成都企业网站建设方案郑州seo使用教程
  • 新公司网站建设怎么免费自己做推广