vue学习记录:vue引入,validator验证,数据信息,vuex数据共享

最近在学习vue,关于学习过程中所遇到的问题进行记录,包含vue引入,validator验证,数据信息,vuex数据共享,传值问题记录

1、vue 引入vue

vue的大致形式如下:

<template>
</template>

<script>
</script>

<style>
</style>

要引入其他vue ,需要 import

<template>

  <div>

    <Header></Header>

    <Carous></Carous>

    <SaleNumber></SaleNumber>

    <ShopList></ShopList>

    <Footer></Footer>

  </div>

</template>

<script>

import ShopList from ‘@/components/ShopList‘

import Header from ‘@/components/Header‘

import Carous from ‘@/components/Carous‘

import SaleNumber from ‘@/components/SaleNumber‘

import Footer from ‘../components/Footer‘

export default {

  components: {

    Footer,

    ShopList,

    Header,

    Carous,

    SaleNumber

  }

</script>

<style scoped>

</style>

2、validator验证,在element-ui中就有可以参照,记得给el-form里加:rules="",在单个的item里要加prop="",参照实例

<template>
  <el-form :label-position="labelPosition" :rules="rules" label-width="80px" :model="form">

        <el-form-item label="收货人" prop="name">

          <el-input v-model="form.name"></el-input>

        </el-form-item>

        <el-form-item label="手机号码" v-if="isDelivery" prop="phoneNumber">

          <el-input v-model="form.phoneNumber"></el-input>

        </el-form-item>

      </el-form>
</template>

<script>

<script>

import Header from ‘@/components/Header‘

import qs from ‘qs‘

export default {

  components: {

    Header

  },

  data () {

    return {

      form: {

        name: ‘‘,

        phoneNumber: ‘‘

      },

      rules: {

        name: [{required: true, message: ‘用户名不能为空‘, trigger: ‘blur‘}],

        phoneNumber: [{validator: (rule, value, callback) => {

          if (!value) {

            callback(new Error(‘手机号不能为空‘))

          } else {

            const reg = /^1[3|4|5|7|8][0-9]\d{8}$/

            console.log(reg.test(value))

            if (reg.test(value)) {

              callback()

            } else {

              callback(new Error(‘请输入正确的手机号‘))

            }

          }

        },

        trigger: ‘blur‘}],

        requirement: [{required: true, message: ‘打印要求不可以为空‘, trigger: ‘blur‘}]

      }

    }

  }

3、数据信息 增删,以及数组与字符串转换,数据仅显示三条

let obj = {name: ‘ name ‘}

增加:this.array.push(obj)

删除:this.array.splice(obj)

字符串转换为数组: let fileNameList = (objArray[i].fileName || ‘‘).split(‘ ‘)    // split use in vue

数据仅显示三条:item in array.slice(0,3)

4、数据共享 vuex

基本操作可以按照百度常有的,npm install vuex ,这里仅仅记录登陆后保存用户的数据,这一块是store的存储数据

export default new Vuex.Store({

  state: {

    openId: ‘‘,

    globalUrl: ‘http://127.0.0.1:81‘,

    uid: ‘‘,

    openShop: ‘‘,

    cookie: ‘‘,

    accesstoken: ‘‘,

    islogin: ‘0‘,

    nickName: ‘‘

  },

  mutations: {

    login (state, payload) {

      state.openId = payload.openId

      state.uid = payload.uid

      state.nickName = payload.nickName

      state.openShop = payload.openShop

      state.cookie = payload.cookie

      state.accesstoken = payload.accesstoken

      state.islogin = payload.islogin

      console.log(‘STATE‘ + state.accesstoken)

    }

  }

})

这一块是数据响应后要存储过去的,登陆状态也相应改变

 methods: {

    login () {

。。。。。。

              that.$store.commit(‘login‘, {

                openId: openId,

                uid: uid,

                nickName: account,

                openShop: openShop,

                cookie: cookie,

                accesstoken: accesstoken,

                islogin: ‘1‘

              })

。。。。

      }

    }

5、数据传值问题

在浏览器中,如果采用params传值,连接不会出现所传的值,如果采用query传值,连接会出现所传的值

传值到指定页面<router-link :to="{name: ‘ShopDetail‘, params: {id: item.sid }}">

</router-link>

获取所传值页面id: this.$route.params.id

6、this的问题

如果需要指向,要先将this指代,不然会出现指向不明

let that = this

原文地址:https://www.cnblogs.com/skylarzhan/p/10518181.html

时间: 2024-10-09 16:34:02

vue学习记录:vue引入,validator验证,数据信息,vuex数据共享的相关文章

[20190614]webpack+vue学习记录

本文记录一些学习webpack+vue相关的知识点,方便以后查阅,添加或修改 1. 初始化vue项目的代码结构 build--项目依赖包配置信息 config--项目配置文件 dev.env.js--开发环境配置文件 index.js--基础配置文件 prod.env.js--线上环境配置文件 mode_module--依赖包文件 src--项目源码 assets--项目图片资源 components--项目小组件 router--项目路由 App.vue--项目根组件文件 main.js--项

【前端小小白的学习之路】vue学习记录⑤(组件通信-父与子)

今天我们看一下组件通信. 经过前面几篇文章,我们已经可以构建出完整的单个组件,并利用路由使其串联起来访问了. 但这明显还是不够的.一个页面不可能就是个单组件,一般是由多个组件合成的.正因为如此,组件之间肯定是有相互关系的,我们就称这种现象叫组件通信. 比如父组件发生了某项改变,子组件会跟着相应发生变化:反过来,子组件有了某种改变,父组件有时也会随之做出调整.那么这种现象我们称之为双向数据流动. 然而,vue的作者敏锐的认识到,双向数据流带来便捷的同时,也存在着极大的安全隐患. 父组件将变化传递给

Vue学习小结(一)安装依赖与数据来源

不多说啥了,生活中都是各种阵痛与惊喜.最近在学习vue框架,刚写完一个小型的后台管理系统(https://github.com/michaelzhengzm/info-manager-systerm_ol),在这里做一个阶段性的小结: 一.构建项目与安装依赖 构建项目采用vue-cli脚手架搭建,npm.cnpm.vue-cli这些知识的基础,网上一大片一大片的,就不过多的描述了.难理解的是里面的配置文件,初学的时候确实费了很多劲,先不用去管太多的配置文件,这些主要是以后上线打包的一些配置问题.

重拾MVC——第二天:Vue学习与即时密码格式验证

今天是复习MVC的第二天,准备自己写一个后台管理,然后慢慢写大,做全. 个人感觉做 Web 的,前端知识是必备的,所有今天学习了一下 Vue,很多人用这个,我以前没有用过,今天把它补起来. 比较了各个学习 Vue 的地方,感觉官方文档讲得很详细,推荐一个学习的网站,将 Vue 讲的很清楚:http://how2j.cn/k/vuejs/vuejs-start/1744.html 这个网站主要是学 Java 的,不过 Java 部分我还没怎么看,只是大致浏览了一下前端部分,感觉很不错,站主很用心.

Vue学习记录-画页面

webstorm 因为之前开发ReactNative的时候,选择了webstorm,这回转战Vue,自然还是用它.如果什么也不做的话,打开Vue工程,编辑区域基本上没有语法高亮.怎么办呢? 安装插件(以mac版本为例,window下面应该大同小异) 1. 打开偏好设置,从左边找到Plugins 2. 点击Browse repositories...,然后搜索Vue,进行安装 3. 添加Vue模板 <template> </template> <script> expor

【前端小小白的学习之路】vue学习记录④(路由传参)

通过上篇文章对路由的工作原理有了基本的了解,现在我们一起来学习路由是如何传递参数的,也就是带参数的跳转. 带参数的跳转,一般是两种方式: ①.a标签直接跳转. ②点击按钮,触发函数跳转. 在上篇文章中我们已经有两个页面(Helloworld.vue&Hello.vue),现在我准备往Hello.vue里面添加3个链接,分别对应两种情况的跳转.  第一步:在原来的Hello.vue里添加路由链接跳转的代码(见第38-44行代码),添加后的Hello.vue代码如下: 1 <template&g

vue学习记录(一)—— vue开发调试神器vue-devtools安装

网上有些贴子少了至关重要的一步导致我一直没装上, 切记!!install后还需build,且install和build都在vue-devtools文件夹内执行 github下载地址 点击跳转 具体步骤: 第一步:找到vue-devtools的github项目,并将其clone到本地 vue-devtools git clone https://github.com/vuejs/vue-devtools.git 第二步:安装项目所需要的npm包(进入vue-devtools编译项目文件目录,很重要

【前端小小白的学习之路】vue学习记录②(hello world!)

接着上篇vue-cli脚手架构建项目结构建好项目之后,就开始写个“hello world!”吧~~~ vue玩的都是组件,所以开发的也是组件. 1.新建helloworld.vue.(删除Hello.vue)代码如下: <!--模板部分--> <template> <div class="container"> <h1>hello,world!</h1> <p>{{test}}</p> </div

【前端小小白的学习之路】vue学习记录(vue-cli脚手架构建项目结构)

我们直接从vue的工程化开始入手. 在这里用git命令行搭建项目环境.(当然直接cmd命令行下也是一样的) git下载安装地址:https://www.git-scm.com/download/win git使用教程:http://www.cnblogs.com/havenshen/p/3493522.html git常用命令整理:http://www.cnblogs.com/luxiaoxing/p/7545403.html 1.node安装. node下载安装地址:http://nodejs