vue单文件开发

vue学习生命周期2021.7.26

组件异步加载

ref

1、如果给标签添加ref就是获取的真是dom节点。
2、如果给子组件添加ref就是获取子组件对象

异步更新队列

为了方便在加载页面数据变化时获取更新后的Dom

Vue.$nextTick(()=>{
});//回调函数

对象变更检测

Vue不能检测对象的更新和删除

//添加**响应式**数据或者属性
Vue.set(Object,key,value);//添加响应式数据
Object =Object.assign(beforeObject,targetObject,{data});//添加多个数据属性

偷懒技术mixin混入

分发vue组件都有的东西

mixins:[toShow],

Vue-cli3开发单文件组件–脚手架

Vue.component();
vu =new Vue({});

缺点

  1. 全局定义组件名字不能重复
  2. 字符串模板 es6提供了模板字符串 \
  3. 不支持css全局就都用不正对啥class
  4. 没有构建步骤
  • 在vue中把.vue的文件称为单文件组件解决以上文件,但是浏览器不支持.vue文件,webpack可以解决

解释

帮助使用者构建了一个架子让你更快的构架

  • 首先安装node.js
  • 然后通过控制端写npm install -g cnpm --registry=https://registry.npm.taobao.org下载淘宝镜像源
  • 然后再写cnpm install -g @vue/cli下载脚手架

快速原型开发

首先安装一个全局的扩展

命令框 npm install -g @vue/cli -service-global

点击你创建的文件再终端打开

输入npm init初始化

vue-cli3快速生成项目

终端写vue create 项目名字 生成新的项目
然后cd 项目名,然后npm run serve就可以运行项目
对象.forEach(c=>{

);
//c就是对象里面的东西,遍历对象
对象.reduce((sum,c)={

},0);//sum开始等于0即第二个参数为你第一传入的参数,c是对象里面的东西
对象.splice(i,1);
从当前位置删除一个数组

购物车demo坑点

1、Mock数据模拟

首先Mock模拟数据

在main文件下面直接加一个vue.config.js文件,在里面配置,

module.exports = {
   devServer:{
       //mock模拟数据(app,server)
       before(app,server) {
           app.get("/api/cartList",(requset,response) => {
               result=[
                {id:1,price:188,name:"Vue实战开发",count:1,active:true},
                {id:2,price:288,name:"React实战开发",count:1,active:true},
               ]
               response.send(JSON.stringify(result));
           });
       },
   }
  }

!注意这里的主机地址为:http://localhost:8080/!不要搞错了

在main文件里面把axios加入原型里面

import Vue from 'vue'
import App from './App.vue'
import axios from "axios"
Vue.config.productionTip = false;
Vue.prototype.$http=axios;//主文件里面用this.$http就可以直接使用
Vue.prototype.$bus=new Vue();
new Vue({
  render: h => h(App),
}).$mount('#app')

3、在文件创建时就请求数据

  async created () {
    try {
     const res= await this.$http.get("/api/cartList");
     console.log(res.data);
     this.shopList=res.data;
    } catch (error) {
      console.log("error!");
    }
  },

!使用try{}catch(error){}可以很好的解决调用地域问题!

2、数据持久化

注意公交车对象的使用

Vue.prototype.$bus=new Vue();

这样就可以使用

this.$bus.$emit("传送名称",数据);
this.$bus.$on("传送名称必须一致",数据=>{});

!数据接受的时候注意this的指向特别要用箭头函数!

        created() {
            this.$bus.$on('addGood', good => {
                const re = this.shopList.find(v => v.id === good.id);
                if (!re) {
                    this.shopList.push(good);
                } else {
                    re.count+=1;
                }
                console.log(this.shopList);
            });
        },

监视格式必须和下面一样只能用handler

        watch: {
            shopList:{
                handler(n,o){
                    this.setLocalStorage(n);
                    console.log(n,o);
                },
                deep:true//数组深度监视
            }
        },

!数据储存的时候注意存的时候要用字符,获取的时候记得转化,函数是localStorage!

localStorage.setItem("cart", JSON.stringify(n));
JSON.parse(localStorage.getItem("cart"))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要进行 Vue 文件组件开发,你需要按照以下步骤进行操作: 1. 安装 Vue CLI:首先,你需要装 Vue CLI,它一个用于快速搭建 Vue.js 项目的工具。你可以在命令行中运行以下命令进行安装: ``` npm install -g @vue/cli ``` 2. 创建新项目:使用 Vue CLI 创建一个新的 Vue 项目,你可以在命令行中运行以下命令: ``` vue create my-project ``` 这将引导你选择一些配置选项,如包管理器、特性预设等。 3. 创建文件组件:在 Vue 项目中,每个组件通常被封装在一个独的文件中,这就是所谓的文件组件。在你的项目目录中,创建一个以 `.vue` 为扩展名的文件,比如 `MyComponent.vue`。 4. 编写文件组件代码:在新创建的 `.vue` 文件中,你可以通过以下方式编写组件的代码: ```vue <template> <!-- 组件的模板部分 --> </template> <script> // 组件的逻辑部分 </script> <style> /* 组件的样式部分 */ </style> ``` 在 `<template>` 标签中编写组件的模板部分,使用 Vue 的模板语法来定义组件的结构。在 `<script>` 标签中编写组件的逻辑部分,比如定义组件的数据、方法等。在 `<style>` 标签中编写组件的样式部分。 5. 在其他组件或页面中使用组件:在其他组件或页面中,你可以通过引入和注册文件组件的方式来使用它。比如,在一个父组件中引入和使用 `MyComponent` 组件: ```vue <template> <div> <my-component></my-component> </div> </template> <script> import MyComponent from './path/to/MyComponent.vue'; export default { components: { MyComponent } } </script> ``` 通过 `import` 语句引入 `MyComponent` 组件,并在 `components` 属性中注册该组件,然后就可以在模板中使用它了。 这就是进行 Vue 文件组件开发的基本步骤。你可以根据自己的需求,编写更复杂的文件组件,并在项目中灵活地使用它们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值