vue

vue脚手架用axios请求本地数据

☆樱花仙子☆ 提交于 2020-03-02 03:42:12
首先需要声明的是:本地请求,不用考虑跨域问题,这适用刚入坑的前端小白看,小白在做自己的项目时,通常都是用自己写的json数据,之后用axios请求过来,渲染到页面上。 1、cnpm install axios --save (在终端安装 上axios,我是用的淘宝镜像安装的) 2、哪个组件使用axios方法请求数据,就在哪个组件里面引入,不用在main.js里面引入,不用改原型链     在组件的script标签内写: import axios from ‘axios’ 3、在组件的methods配置项里使用axios     methods:{       fn(){        axios.get('url').then(function(res){           console.log(res.data)         }).catch(function(err){           console.log(err)         })       }       } 注意:在本地放置自己的json文件时,一定要放在项目的static文件夹下,因为static文件时,vue脚手架暴露在外面的静态文件,放在其他文件内用相对路径或绝对路径是访问不到的,这一点需要注意,踩了一下午坑,终于请求到本地的json数据了。 来源: https://www.cnblogs

vuex基本使用

安稳与你 提交于 2020-03-02 02:00:47
vuex使用 安装 npm install vue 引入 src目录下创建store/index.js //index.js import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { }, mutations: { }, actions: { }, modules: { } }) 入口文件main.js引入store //main.js import Vue from 'vue' import store from './store' new Vue({ store, render: h => h(App) }).$mount('#app') 五大核心 state:全局状态数据 getters:相当与computed mutations:规定只有mutation才能修改state,通过commit方法触发 actions:异步操作,通过dispatch触发mutation 来源: https://www.cnblogs.com/zhaoyifeng/p/12393237.html

vue 简介以及常见的指令

拥有回忆 提交于 2020-03-02 01:11:35
vue 渐进式 js 框架 data数据与模板指令结合 以及样式 指令以及相关的概念 所有指令都要在指定的html标签内执行才有用 {{}} 显示的指令 data将数据与模板结合 指令的值应该看作js的表达 或者是data里面的值 模板指令中字符串的引用要用单引号 文本渲染指令 {{js表达式}} v-text v-html可以渲染数据中的html标签 条件渲染指令 v-if="表达式的值" 通过移除dom元素来隐藏 v-else v-show通过css display:none 方法来隐藏 属性的绑定 v-bind:属性名="值" :属性名="值" 事件绑定 v-on:事件名="执行的内容" v-on:click="num=1" 简写方法:@事件名="" @click="num=2" 当单击的时候设置num的值为2 <button @click="num=3">吧</button> <p v-if="num==1" 事件处理函数 methods:{ showMsg(); } 注意:属性的绑定用冒号: 事件的绑定可以用@符号 条件渲染 v-if:"表达式" 移除dom 结构隐藏 v-else v-show 通过css隐藏 来源: CSDN 作者: xinmenglin 链接: https://blog.csdn.net/xinmenglin/article/details

Vue $emit $refs子父组件间方法的调用

寵の児 提交于 2020-03-02 00:22:13
1、$emit 子组件调用父组件的方法并传递数据 子组件: <template> <button @click="emitEvent">点击我</button> </template> <script> export default { data() { return { msg: "我是子组件中的数据" } }, methods: { emitEvent(){ this.$emit('my-event', this.msg) //通过按钮的点击事件触发方法,然后用$emit触发一个my-event的自定义方法,传递this.msg数据。 } } } </script> 父组件: <template> <div id="app"> <child-a @my-event="getMyEvent"></child-a> <!--父组件中通过监测my-event事件执行一个方法,然后取到子组件中传递过来的值--> </div> </template> <script> import ChildA from './components/child.vue' export default { components: { ChildA }, methods: { getMyEvent(msg){ console.log('接收的数据--------->'+msg)//接收的数据--------

vue父组件中调用子组件的方法

我怕爱的太早我们不能终老 提交于 2020-03-02 00:21:25
Vue项目中如何在父组件中直接调用子组件的方法: 方案一:通过ref直接调用子组件的方法; //父组件中 <template> <div> <Button @click="handleClick">点击调用子组件方法</Button> <Child ref="child"/> </div> </template> <script> import Child from './child'; export default { methods: { handleClick() { this.$refs.child.sing(); }, }, } </script> //子组件中 <template> <div>我是子组件</div> </template> <script> export default { methods: { sing() { console.log('我是子组件的方法'); }, }, }; </script> 方案二:通过组件的$emit、$on方法; //父组件中 <template> <div> <Button @click="handleClick">点击调用子组件方法</Button> <Child ref="child"/> </div> </template> <script> import Child from './child'; export

一个vue的全局提示框组件

淺唱寂寞╮ 提交于 2020-03-01 23:22:53
<template> <!-- 全局提示框 --> <div v-show="visible" class="dialog-tips dialog-center"> <div>{{message}}</div> </div> </template> <script> export default { data() { return { visible: false, message: "" }; } }; </script> <style lang="scss"> .dialog-tips{ position: fixed; z-index: 100; min-width: 220px; padding: 40px 22px; white-space: nowrap; background-color: #fff; box-shadow: 0px 8px 15px 0 rgba(0, 0, 0, 0.1); text-align: center; .dialog-tips-icon{ width: 54px; height: 54px; @extend %bg-contain; display: inline-block; margin-bottom: 13px; } } .dialog-center { top: 50%; left: 50%; transform:

Vue-cli2.0 + webpack4.0 项目结构及内容详细分析

筅森魡賤 提交于 2020-03-01 22:31:08
总体结构 安装了node, webpack 、vue-cli 等工具之后,打开VS Code控制台 vue init webpack <Project Name>命令创建了基于vue-cli2.0的项目 1、build文件夹: 1.1、build.js 'use strict' require('./check-versions')() //调用版本检查 process.env.NODE_ENV = 'production' //将环境配置为生产环境 const ora = require('ora') //npm包 loading插件 const rm = require('rimraf') //npm包 用于删除文件 const path = require('path')//npm包 文件路径工具 const chalk = require('chalk')//npm包 在终端输出带颜色的文字 const webpack = require('webpack')//引入webpack.js const config = require('../config')//引入配置文件 const webpackConfig = require('./webpack.prod.conf')//引入生产环境配置文件 // 在终端显示loading效果,并输出提示 const

vue实现微信授权登录

こ雲淡風輕ζ 提交于 2020-03-01 21:02:53
mounted() { var WXInfo = localStorage.getItem('WXInfo') ? JSON.parse(localStorage.getItem('WXInfo')) : 'noLogin' let str = window.location.href var ua = navigator.userAgent.toLowerCase() var isWeixin = ua.indexOf('micromessenger') !== -1 // 是否 在微信浏览 器内 let isURL = window.location.href.indexOf('code=') === -1 // 是否 没有授权重定向回来 console.log("参数1:", str, ua, isWeixin, isURL) if (isWeixin && isURL) { this.getLogin() } else { console.log("没有执行") } // 重定向回来 if (!isURL) { let num1 = str.indexOf('code=') let num2 = str.indexOf('&state=') this.wxcode = str.slice(num1 + 5, num2) localStorage.setItem(

Vue 技术栈 快速学习 前端面试

大憨熊 提交于 2020-03-01 20:27:06
起因 一直想着要写一定深度的文章,然后觉得学习Vue是一个好的过程,本文将带你走进Vue的世界,支持国内框架! 如果看完本文还不懂Vue是什么的小伙伴,可以随便打博主!(斜眼笑),前方高能,本文可能篇幅比较长,建议收藏在闲暇时间学习,也欢迎伙伴们讨论留言学习! Vue -渐进式JavaScript框架 介绍 vue 中文网 vue github Vue.js 是一套构建用户界面(UI)的渐进式JavaScript框架 库和框架的区别 提问!你真的懂 前端框架(framework ) 与 库(library) 怎么区别吗? Library 库,本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者 代表:jQuery jQuery这个库的核心:DOM操作,即:封装DOM操作,简化DOM操作 Framework 框架,是一套完整的解决方案,使用框架的时候,需要把你的代码放到框架合适的地方,框架会在合适的时机调用你的代码 框架规定了自己的编程方式,是一套完整的解决方案 使用框架的时候,由框架控制一切,我们只需要按照规则写代码 主要区别 You call Library, Framework calls you 核心点:谁起到主导作用(控制反转) 框架中控制整个流程的是框架 使用库,由开发人员决定如何调用库中提供的方法(辅助) 好莱坞原则:Don’t call

VUE 路由使用

丶灬走出姿态 提交于 2020-03-01 20:16:16
vue route 目录 路由 import Vue from 'vue' import Router from 'vue-router' import login from '../page/login' import layout from '@/page/layout' import resume from '@/page/resume' import testPage1 from '@/page/testPage1' import createResume from "@/page/createResume" import { defaultMenu } from "./menuRouter" ; import routeFile from "./menuRouter" Vue . use ( Router ) const router = new Router ( { // mode: 'history', //这个模式下,地址栏就不会自己加上#号了 routes : [ { name : 'login' , path : '/login' , component : login , } , { name : 'testPage1' , path : '/testPage1' , component : testPage1 , } , { path : '/resume'