Vue学习笔记-6

git冲突

冲突场景
多个分支代码合并到一个分支时
多个分支同一个远端分支推送代码时

解决冲突
在当前分支上,直接修改冲突代码
在本地当前分支上,修改冲突代码

git branch -a 查看所有分支
git checkout -b aaa 创建新的分支aaa
git checkout aaa 切换到aaa分支
git push origin aaa 推送aaa分支到远程仓库aaa分支
git push origin master:aaa 推送master到远程的aaa
git branch -d **** 删除一个分支

nginx

./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重新加载

vue-3 项目创建

请添加图片描述

请添加图片描述

vue-3项目改造

<router-link to="/cinemas" custom v-shot="{navigate,isActive}">
	<li @click="navigate" :class="isActive ? 'kerwinactive':''">
		<i class="iconfont icon-all"></i>
		<span>影院</span>
	</li>
</router-link>
<script>
	export.default{
		mounted(){
			this.$store.commit("hide")
			console.log(this.$route.params.id)
		},
		destroyed(){
			this.$store.commit("show")
			export default createstore({
				state:{
					isTabbarShow:true
				},
				mutations:{
					hide(state){
						state.isTabbarShow=false
					},
					show(state)
					state.isTabbarShow=true
				}
			})
		}
	}
</script>

vue-reactive

用于复杂数据类型

注意:
1、reactive参数必须是对象(json/arr),基本类型(数字、字符串、布尔值)在reactive中无法被创建成proxy对象,也就无法实现监听,无法实现响应式
2、本质:就是将传入的数据包装成一个Proxy对象
3、如果给reactive传递了其他对象(如Date对象),默认情况下,修改对象无法实现界面的数据绑定更新。如果需要更新,需要进行重新赋值

vue-ref

ref被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,引用指向的就是DOM元素;如果用在子组件,引用就指向组件实例

toRef&toRefs

toRef,创建一个响应式数据
本质是引用,也就是说,toRef函数会与源数据交互,修改响应式数据会造成源数据的修改,但是他的修改不会造成试图层数据的更新

toRefs,
用于批量设置多个数据为响应式数据
与原始数据相交互,修改响应式数据会影响到源数据,但是不会更新视图层
还可以与其他响应式数据像交互,更加方便处理视图层数据

生命周期

请添加图片描述

计算属性

写在computed对象中的属性,本质上是一个方法,不过使用时依旧当属性来使用

计算属性是基于缓存实现的,只有计算属性所依赖的数据发生改变时它们才会重新求职,否则访问计算属性会立即返回之前的计算结果,而不必再次执行函数

watch

一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue实例将会在实例化时调用$watch(),遍历watch对象的每一个属性

<body>
<div id="app">
    <input type="text" v-model="num">
</div>
<script src="vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            num: ''
        },
        watch: {
            num(newVal, oldVal) {
            // 监听 num 属性的数据变化
    		// 作用 : 只要 num 的值发生变化,这个方法就会被调用
    		// 第一个参数 : 新值
    		// 第二个参数 : 旧值,之前的值
                console.log('oldVal:',oldVal)
                console.log('newVal:',newVal)
            }
        }
    })
</script>
</body>

//自动触发
<body>
<div id="app">
    <input type="text" v-model="num">
</div>
<script src="vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            num: 1
        },
        watch: {
            num: {
            	// 数据发生变化就会调用这个函数  
                handler(newVal, oldVal) {
                    console.log('oldVal:', oldVal)
                    console.log('newVal:', newVal)
                },
                // 立即处理 进入页面就触发
                immediate: true
            }
        }
    })
</script>
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优降宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值