Vue脚手架(二)

一、ref属性

(1) 被用来给元素或子组件注册引用信息(id的代替者)

(2) 应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc)

(3) 使用方式:

打标识: <h1 ref="xxx"></h1> 或 <School ref="xxx"></School>

获取: this.$refs.xxx

二、配置项props

功能: 让组件接受外部传过来的数据

(1) 传递数据: <Demo name="xxx" />

(2) 接收数据:

a、第一种方式(只接收): props: "name"

b、第二种方式(限制类型): props: {name: String}

c、第三种方式(限制类型、限制必要性、指定默认值)

javascript 复制代码
props: {
    name: {
        type: String, // 类型
        required: true, // 必要性
        default: '111' // 默认值
    }
}

备注: props是只读的, Vue底层会监测你对props的修改,如果进行了修改,就会发出警告;若业务需求确实需要修改,那么请复制props中的内容到data中一份,然后去修改data中的数据

三、mixin(混入)

功能: 可以把多个组件共用的配置提取成一个混入对象

使用方式

a、第一步定义混合

javascript 复制代码
{

    data() {...},

    methods:{...},

    ...

}

b、第二步使用混入

全局混入: Vue.mixin(xxx)

局部混入: mixins: 'xxx'

四、插件

功能: 用于增强Vue

本质: 包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据.

定义插件:

对象.install = function(Vue, options) {

// 1、添加全局过滤器

Vue.filter(...)

// 2、添加全局指令

Vue.directive(...)

// 3、配置全局混入

Vue.mixin(...)

// 4、添加实例方法

Vue.prototype.$myMethod = function() {...}

Vue.prototype.$myProperty = xxx;

}

使用插件: Vue.use(插件名)

五、scoped样式

作用: 让样式在局部生效,防止冲突

写法: <style scoped></style>

六、总结实践案例

(1) 组件化编码流程

  1. 拆分静态组件: 组件要按照功能点拆分,命名不要与html元素冲突

  2. 实现动态组件: 考虑好数据的存放位置,数据是一个组件在用,还是一些组件在用

如果是一个组件在用,放在组件自身即可;若是一些组件在用,放在他们共同的父组件上(状态提升)

  1. 实现交互: 从绑定事件开始

(2) props适用于

  1. 父组件 ==> 子组件 通信

  2. 子组件 ==> 父组件 通信(要求父先给子一个函数)

(3) 使用v-model时要切记: v-model绑定的值不能是props传过来的值,因为props是不可以修改的

(4) props传过来的若是对象类型的值,修改对象中的属性时Vue不会报错,但不推荐这样做

相关推荐
FreeTinker5 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html
qq_452396235 小时前
第十二篇:《全链路监控与可观测性:前端错误追踪与性能分析》
前端
海兰6 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
wangruofeng6 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
BigTopOne6 小时前
WebRTC Native / Android 开发学习资源整理
前端
excel7 小时前
nuxt 3 升级 nuxt 4 报错之 hasInjectionContext
前端
小磊哥er7 小时前
深入解构Claude Code - 第 7 篇 · 连接外面的世界
javascript·ai编程
何以解忧,唯有..8 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
小磊哥er8 小时前
深入解构Claude Code - 第 6 篇 · 终端里的图形界面
javascript·ai编程
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(一)
javascript·python·金融