应用场景:
这里的请登录注册,对于已经登录的用户是不需要展示的;而购物车,当鼠标移入的时候会显示,鼠标移出隐藏…
以下演示了如何定义方法,如何获取data中的变量
以下演示函数传参
作用:动态设置html标签属性->src、title、url,可使用简写,:src
、:url
练习:
适应场景:某个具体属性的动态设置
作用:给表单元素使用,双向数据绑定,可以快速获取或设置表单元素内容
基于现有的数据,计算出来的新属性。依赖的数据变化,自动重新计算。
计算属性默认的简写,只能读取访问,不能"修改"。如果要"修改"→需要写计算属性的完整写法。
作用:监视数据变化,执行一些 业务逻辑 或 异步操作
完整写法>添加额外配置项
(1) deep: true 对复杂类型深度监视
(2) immediate: true 初始化立刻执行一次handler方法
具体查看视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=33&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279
Vue生命周期:一个Vue实例从 创建到销毁的整个过程生命周期四个阶段: 创建挂载更新销毁
Vue生命周期过程中,会自动运行一些函数,被称为[生命周期钩子],让开发者可以在[特定阶段] 运行自己的代码
1.全局安装(一次): yarn global add @vue/cli
或 npm i @vue/cli -g
2.查看 Vue 版本:vue --version
3.创建项目架子:vue create project-name
(项目名-不能用中文)
4.启动项目: yarn serve
或 npm run serve
(找package.json)
如下图,要想在代码中写less样式,得安装相关依赖:
lang="less"
yarn add less less-loader -D
局部注册:只能在注册的组件内部使用
我是头头
其它两个组件就不粘贴了,一样的写法…
import Vue from 'vue'
import App from './App.vue'
// 引入
import MyButton from './components/MyButton'
Vue.config.productionTip = false
// 进行全局注册,在所有的组件范围内都可以用
Vue.component('MyButton', MyButton) // (组件名,组件对象)
new Vue({
render: h => h(App),
}).$mount('#app')
在其它组件中直接使用就行了,也无须import引入,后续button有变化,只需要改全局组件即可
一个组件的 data 选项必须是一个函数。 保证每个组件实例,都有独立的一份数据对象
组件通信,就是指 组件与组件 之间的数据传递
代码如下:
我是父组件
我是Son组件
{{title}}
EventBus.js
import Vue from 'vue'
const Bus = new Vue()
export default Bus
适应场景:组件结构一样,内容不一样
插槽视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=66&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279
如果跳转的时候传参呢
总结
store定义
修改state中的数据
调用mutation传参,如果有多个,包装成json对象即可