本文为我的学习笔记,适合有 Vue.js 2.0 基础的人阅读。1,下载基础设置克隆Vue-next-Webpack-preview项目,它将为我们提供包括Vue 3在内的最小的Webpack设置。$ git clone https://github.com/vuejs/vue-next-webpack-preview.git vue3-experiment
$ cd vue3-experiment
$ npm install
2,添加sass 支持npm install --save-dev style-loader node-sass sass-loader
在webpack.co
前两种方法需要设置路由history模式,后两种方法貌似更合适。
方法一:
1.在router.js里面(即路由文件中),此时模式为 history
const router = new VueRouter({
mode: 'history',
routes,
scrollBehavior (to, from, savedPosition) {
if (savedPosition) {
return savedPosition
} else {
if (from.meta.keepAlive) {
实现难点
如何判断切换路由时是前进还是后退
每次向左向右切换动画如何实现
解决方案
我们需要给各个页面定义层级,在切换路由时判断用户是进入哪一层页面,如果用户进入更高层级那么做前进动画,如果用户退到低层级那么做后退动画.
router/index.js
import VueRouter from 'vue-router'
import Home from '../components/home/home'
import User from '../components/user/user'
var router = new VueRouter({
routes
在Vue组件中,使用.foo img{max-width:100%}不会生效,解决方法如下:
template
div class="foo"
div v-html="myHtml" /div
/div
/template
style scoped
.foo { height: 300px; }
/style
而如果在组件中使用了v-html,要为myHtml中的标签添加CSS样式,我们需要在写样式的时候添加 :
.foo img { max-width: 100%; }
这样,编译
解决方案一,检查Vuex中的数据,没有的话,重新从服务器获取,该方案可以满足存储的简单信息。该方法的好处是比较干净。
mounted: function(){
var that = this;
//如果登录后,刷新了,vuex里的登录数据会清空,这里重新从服务器获取数据
if(tools.getCookie('token') && !this.$store.state.user.user_type){
// 判断不需要重新获取信息的页面
var noNeed = ['/login','/register','/reset'];
问题描述:
父组件传如lesser和larger两个参数,并且是ajax从服务器获取的。子组件定义created阶段输出lesser和larger。但larger为空。改成延迟输出则正确。
问题来源:https://segmentfault.com/q/1010000008912491
提问者的主要问题是没有搞清楚,vue实例的生命周期,created函数只会执行一次。
父组件:
template
my-editor :lesser="lesser" :larger="larger" /my-editor
/template
script
mt-cell is-link title="测试" v-on:click.native="test"
img slot="icon" src="../../assets/images/icon/credit-card.svg" width="24" height="24"
/mt-cell
这样才能正常绑定事件test,去掉is-link也可以绑定,如下: mt-cell title="测试" v-on:click.native="test"
img slot="icon" src="../../assets/images/icon/credi
OPTIONS请求是信使请求,在跨域请求之前,浏览器会先发送OPTIONS请求去获取服务器请求访问头,如果OPTIONS请求被拒绝,则不会继续后续的GET/POST/PUT/PATCH等操作。前面请求,由于只是去探路的,只请求数据头部,所以返回空是正常的。如果前面的OPTIONS访问的头部信息被服务器拒绝,那么后面一次请求就不会被发起。这个是HTTP自身的特性,不用特意去处理,如果是自己的服务器的话,只需要在后台给所有的OPTIONS类型请求返回空就可以了(这只是以防万一,因为OPTIONS只请求数据头部,总是会返回空)。网上找到这个说法:https://segmentfault.com/q/
安装方法1.使用CDN直接引用 script src="https://unpkg.com/vue/dist/vue.js" /script
script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js" /script 2.NPM$ npm install vue-i18n3.Yarn$ yarn add vue-i18n使用方法在这里只介绍vue的使用方法 script
/* 国际化使用规则 */
import Vue from 'vue'
import Vu
插件util.js
export default{
install(Vue,options)
{
Vue.prototype.getData = function () {
console.log('我是插件中的方法');
}
}
}main.js 引入 并且全局注册import util from './util'
Vue.use(util);其他组件中使用this.getData();参考:https://cn.vuejs.org/v2/guide/plugins.html#使用插件https:/