0

0

值得收藏的vue开发技巧实例

小云云

小云云

发布时间:2018-01-25 14:53:42

|

2567人浏览过

|

来源于php中文网

原创

本文我们会从很多方面来细说vue的一些很好用的开发技巧,值得收藏起来哦,希望能帮助到大家。

1.placeholder与computed巧用

表单开发肯定是日常开发中必不可少的环节,可是设计图经常会有表单默认值的设计,比如:
值得收藏的vue开发技巧实例

需求方的需求点是:在没有输入值的时候显示默认值,在输入值的时候显示输入值。

通常就能想到用placeholder来解决这个问题,并且通常会用v-model来绑定data中的值。然后,data的值再设定默认值为空

//script
data(){
    return {
        index:0,
        name:''
    }
}
//template

以上这种效果是,第一个input的placeholder的值显示不出,显示了index的值:0,不符合需求
第二种能显示placeholder的值,需求满足。

但是一些复杂的需求,比如,让用户选择城市名(city)和国家名(country),最后在一个变量(countryAndCity)上显示,这个时候就要用computed

立即学习前端免费学习笔记(深入)”;

//template




//script
data(){
    return {
        city:'',
        country:''
    }
},
computed:{
    countryAndCity () {
        let str = ''
        if(this.city && this.country){
            str = `${this.city}+${this.country}`
        }
        return str
    }
}

在上面就需要做个判断,当city和country有值的情况才显示结果,否则显示placeholder的值。

2.单选选中和多选选中的设计

诸如经过设计师设计的单选和多选按钮
单选按钮就比较简单了

//template
  • {{item}}
  • //script data(){ return { currentIndex:0, list:['aa','bb','cc','dd'] } }, methods:{ select(index){ this.currentIndex = index } }

    上面很简单,大概看看就懂了,这是单选的情况,那要是多选的情况呢,那就要换个思路了

    首先换个数据格式

    data(){
        return {
            list:[
            {text:'aa',isActive:false},
            {text:'bb',isActive:false}
            {text:'cc',isActive:false}'
            ]
        }
    },
    methods:{
        select(index){
            this.list[index].isActive = !this.list[index].isActive
        }
    }

    然后template就要变成这样

  • {{item.text}}
  • 3.动态组件和异步组件的使用

    动态组件一般很少用到,但是要做动态引入组件的时候真的超级好用。之前做过的组件配置系统核心就是它。我用的是一个动态组件循环,然后用is获取组件名,用props获取各个组件的自定义props

    
    
    componentList:[{ name:'index',props:{title:'title'}}]

    4.created和mounted的服务端渲染

    created和mounted在客户端渲染时期window对象都是存在的,所以可以直接操作。
    但是在服务端渲染时期,它们两者的window都是不存在的,所以要加一句判断,在所有逻辑前面

    Cutout.Pro抠图
    Cutout.Pro抠图

    AI批量抠图去背景

    下载
    if(typeof window !== 'object') return ;

    5.this.$emit的妙用

    基于组件化思维,很多时候我们会把一个页面拆分成几个组件,然后会提取一些公用的组件,比如dialog弹窗组件,他的打开和关闭,都是根据引用组件页面的data的一个值来决定,

    //app.vue
    
    
    data(){
        return {
            isDialog:false
        }
    }
    methods:{
        showDialog(){
            this.isDialog = true
        }
    }

    但是关闭按钮通常是写在dialog组件内部的,也就是说,在引用组件页面是没有这个按钮可以点击的,
    所以,可以在dialog里面将点击时间的信号传递出来,引用组件页面接收到了信号,再控制关闭

    //dialog.vue
     
    

    点击关闭

    methods:{ close() { this.$emit('close') } } //app.vue data(){ return { isDialog:false } } methods:{ showDialog(){ this.isDialog = true }, closeDialog(){ this.isDialog = false } }

    大致的思路就是把真正关闭的操作,放在isDialog的页面,方便操作。
    后续还会出一个不这样引用,直接在methods的方法中引用的公用组件写法,敬请期待

    6.css的scoped

    vue中的css可以用scoped这个关键子来限制css的作用域

    这个日常就会用到,因为这样就不用考虑class的命名会重合,加上使用sass、less、stylus、postcss等css处理器,效果简直杠杠的。
    但是如果你想改动到body这个元素的css样式,但是又不想改动公用layout模板。那你就可以在一个vue文件写两个style标签

    
    

    相关推荐:

    Vue实现数字输入框中分割手机号码实例教程

    vue语法拼接字符串详解

    vue 组件之间使用eventbus传值详解

    vue过渡动画详解

    vue实现验证码60秒倒计时功能简单实例

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    go语言 注释编码
    go语言 注释编码

    本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

    2

    2026.01.31

    go语言 math包
    go语言 math包

    本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

    1

    2026.01.31

    go语言输入函数
    go语言输入函数

    本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

    1

    2026.01.31

    golang 循环遍历
    golang 循环遍历

    本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

    0

    2026.01.31

    Golang人工智能合集
    Golang人工智能合集

    本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

    1

    2026.01.31

    2026赚钱平台入口大全
    2026赚钱平台入口大全

    2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

    76

    2026.01.31

    高干文在线阅读网站大全
    高干文在线阅读网站大全

    汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

    73

    2026.01.31

    无需付费的漫画app大全
    无需付费的漫画app大全

    想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

    67

    2026.01.31

    漫画免费在线观看地址大全
    漫画免费在线观看地址大全

    想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

    19

    2026.01.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Node.js 教程
    Node.js 教程

    共57课时 | 9.9万人学习

    CSS3 教程
    CSS3 教程

    共18课时 | 5万人学习

    Rust 教程
    Rust 教程

    共28课时 | 5.1万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号