vue学习记录

vue学习记录

前言:最近在学习ts+vue页面交互,现在总结一下。目录积累的大致有如下几点:prop装饰器、Emit装饰器、Model装饰器、Watch、created钩子函数、Component。

详解:

  1. Component:这个一般用来用来定义默认div名称和接收请求的页面。具体代码如下

  原始代码:

复制代码
 export default{
   name:"About",
    data(){    数据
        return{
          xxx
        },
        copmput:{   //计算属性方法
          (){
            getfullName(){
                return this.firstName+' '+lastName
            },
            set(val){
              
            }

            
          }
        }
}
 }
复制代码

  现在如下:

import {Component,Vue,Watch} from 'vue-property-decorator'
  import User from './user.vue'  //后缀必须写全
@Component({
    name:"名称"
  components:{User}
})

  2. 钩子函数:created :初始值的时候进行初始化值,比如这样

//钩子函数
    created(){
      this.fullName="wang wu";
    }

  3. 计算属性,get,set:

  原本:看上面第一个copmput

  现在:直接定义get和set方法

复制代码
get fullName(){
      return this.firstName+' '+this.lastName
    }
    set fullName(val){
      const arr=val.split(" ");
      this.firstName=arr[0];
      this.lastName=arr[1];

    }
复制代码

  4. Watch:用来监听数据变化

  

//监听firstName的变化
    @Watch('firstName')
    suib(newval,oldval)    //suib :随便起的名字,前面是新的,后面是久的
    {
      console.log(newval,oldval);
    }

  5. 向子页面传递值

<!-- 向页面中传递过去了列表中的数据   传递id      把数据全部发送国庆  on-remove和chage-age:子页面发送过来的方法 传递值firstName --> 
<user v-for="item in userList" :key="item.id" v-bind="item" @on-remove="remove" @chage-age="chageAGE" v-model="firstName"></user>

  6. Prop   子页面怎么接收父页面v-bind 传递过来的值? 备注:v-bind:就是把所有的数据都传递了过来。然后通过下面的方式接收

复制代码
@Prop(Number)
    id!:number;

    @Prop([String,Number])
    name:string|Number;

    @Prop(Number)
    age!:number;

    @Prop({type:Number,default:1})
    sex!:number;
复制代码

  7. Emit  子页面给父页面传值:两种传递方式,其中remove是代码中定义的方法

复制代码
html------
<button @click="chageAge(id)">年龄+1</button> <button @click="remove(id)">删除</button>

ts-------- @Emit(
'on-remove') remove(id){ return id; //如果不写,也会默认传递过去id } @Emit() //如果不写名,那么父组件调用的就是它的chageAge,并且会将驼峰式的改为chage-age chageAge(id:number) { }
复制代码

 

  

  

  

 

 

posted @   锦大大的博客呀!  阅读(88)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2020-04-28 Autofac介绍和使用
点击右上角即可分享
微信分享提示