首页 > 其他分享 >vue基础知识

vue基础知识

时间:2022-12-11 15:24:07浏览次数:51  
标签:node vue name 监听 oldValue 基础知识 newValue

  我们呢,在第一篇笔记中也提到过vue的一个基础,今天的呢也就接着来 

  首先就是vue,我们需要知道他是怎么个运行,就是有以下这小三点 :

    1. Node.js是我们的运行环境
    2. Vue cli  创建vue项目的脚手架
    3. Git代码版本管理工具

    当然,node 版本管理工具 n是mac 的node版本管理工具,  而nvm是 windows版本系列的

 

 

  那么,为什么我们需要使用node包管理工具?精简来说,就是在公司里面去工作,会有很多的新老项目,老项目的话就可能会用到低版本的node.js这个时候node版本管理工具去切换node版本,需要使用node管理工具的时候,我们就下载一个nvm就可以。

  至此,我们继续往下进行:

    vue中的一般有

        data---存放数据的地方,computed----计算属性,

        methods---定义方法,components---引入组件,

        watch---监听数据

 

watch监听:

      watch监听到对象的变化,但是在对对象或数组做变更操作时,删除或添加属性,监听函数中的新值和旧值都指向了同一个对象或数组,并且Vue不会保留变更之前的副本。这种情况下我们怎么拿到旧值呢?还是有办法的,我们可以再设置一个计算属性,保存betNew为副本,然后监听这个副本的变化

<script>

export default {   data() {     return {       // 为了测试监听一个对象       dataObj: {         num3: 20,         name: "潇潇11111"       }     };   },   // 监听数量的变化  // 监听一个基本数据类型,和立即监听,立即监听的时候,旧值是undefined,新值就是当前值计算属性,实时计算依赖值的计算结果,不能和data(){return{}}里面有重名的属性名,不然的话,会取值data里面的属性的值。   watch: {     // 实时监听     // num(newValue, oldValue) {     //   console.log(newValue, oldValue);     // }     num: {       handler(newValue, oldValue) {         console.log(newValue, oldValue);       },       immediate: true     },     // 监听该对象 监听对象中的某一个属性1     // newObjData: {     //   handler(newValue, oldValue) {     //     console.log(newValue, oldValue);     //   },     //   immediate: true,     //   deep: true     // }     // 监听对象 监听对象中的某一个属性2     "dataObj.num3": {       handler(newValue, oldValue) {         console.log(newValue, oldValue);       },       immediate: true,       deep: true     }   },   name: "HomeView",   components: {} }; </script>        

 

 

 

 

    vue中的事件:vue中,同时绑定两个方法,用分号隔开    

  

 

     既然有了页面,我们就需要有一个路由守卫的功能,一共可以有两种方式: 

      1.全局路由守卫

        

 

 

      2.独享路由守卫

        

 

 

vuex状态管理:

   在store.js中,可以有以下操作

import Vue from "vue"; import Vuex from "vuex";
Vue.use(Vuex);
export default new Vuex.Store({   state: {  // 定义数据     fruitList: [       { id: 1, name: "西瓜" },       { id: 2, name: "荔枝" },       { id: 3, name: "葡萄" },       { id: 4, name: "香蕉" },       { id: 5, name: "橘子" },     ],   },   getters: {},  // 不经常使用   mutations: {  // 定义方法   支持同步提交     // 增加一个方法添加水果     addFruits(state, val) {       state.fruitList.push(val);     },   },   actions: {   // 提交方法    支持异步提交     // addFruitsAction({ commit }, val) {     //   commit("addFruits", val);     // },
    // 异步提交     addFruitsAction({ commit }, val) {       return new Promise((resolve, reject) => {         setTimeout(() => {           resolve(200);         }, 3000);       });     },   },   modules: {}, // 模块化 });

 

        

    

 

 

 

 

标签:node,vue,name,监听,oldValue,基础知识,newValue
From: https://www.cnblogs.com/vvuessss/p/16973415.html

相关文章

  • vue3
    01-为什么学vue3目标:了解vue3现状,以及它的优点,展望它的未来Vue3现状:vue-next(opensnewwindow)2020年09月18日,正式发布vue3.0版本。但是由于刚发布周边生态不支持,......
  • Vue组件间传值(爷传孙,孙传爷)
    爷传孙首先说明:既然你学会了父传子,那么爷传孙自然不是难事,你可以先父传子,再子传孙,一步一步传,这里不再赘述。这里用到的方法是$attrs传参,比起上面的更简洁一些,首先我们还是......
  • 认识 Vue project
    使用Vue-CLI创建项目准备工作下载node和npmnpmcomesbundledwithnode(npm会随node一起被下载)根据个人需求选择一个版本下载即可,对于基本操作来说没有......
  • Vue3学习笔记(四)——组件、生命周期、Hook
    一、组件如果我们将一个页面中所有的处理逻辑全部放在一起,处理起来就会变得非常复杂,而且不利于后续的管理以及扩展,但如果,我们将一个页面拆分成一个个小的功能块,每个功能块完......
  • 基于Java+Springboot+Vue+elememt甜品屋蛋糕商城系统设计和实现
    目录​​一、开发背景和技术:​​​​1.1开发背景  ​​​​1.2B/S体系结构​​​​1.3Java语言简介​​​​1.4SpringBoot框架​​​​1.5MySQL简介​​​​二、系统......
  • VUE3 API之reactive和ref常见问题解决
    reactive解构最深的一层,失去响应性问题<scriptsetuplang="ts">lettarget={a:{b:1}};lettarget1={c:1};constobj=reactive(target)constobj1=......
  • Vue快速上门(1)-基础知识图文版
    VUE家族系列:Vue快速上门(1)-基础知识Vue快速上门(2)-模板语法Vue快速上门(3)-组件与复用01、基本概念1.1、先了解下MVVMVUE是基于MVVM思想实现的,❓那什么是MVVM呢......
  • Vue 中的 Todo-list 案例
    Vue中的 Todo-list案例1:示例2:代码结构3:代码内容4:界面效果展示......
  • Spring之基础知识
    1、ApplicationContextVSBeanFactoryl 二者来自的jar包不同;BeanFactory来自spring.beans.jar;ApplicationnContext来自spring.context.jar下。l BeanFactory......
  • JAVA_基础知识_创建对象内存分析
    2022-12-1100:13:07publicclassPet{Stringname;intage;publicvoidshout(){System.out.println("叫了一声!");}}publicclassA......