Vue入门

Vue2.0官方文档英文版
Vue2.0官方文档中文版

Vue2.0API英文版
Vue2.0API中文版

VUE系列教程目录

Vue.js学习系列

Vue Router中文官网

Vue 2.0 起步(1) 脚手架工具 vue-cli + Webstorm 2016 + webpack

WebStorm添加vue插件高亮显示*.vue文件

Vue.use(Router)

如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能:例如index.js中

import Router from 'vue-router'

Vue.use(Router)
...

使用全局的 script 标签,则无须如此(手动安装),例如index.html中

...
var router = new VueRouter({
    routes:[
        { path: '/foo', component: {template:'<div>foo</div>'} }
        ,{ path: '/bar', component: {template:'<div>bar</div>'} }
    ] 
})
...

Es6中export default 和 export 区别

单文件组件与全局组件的区别

全局组件

  1. 定义
Vue.component('my-component-name', { /* ... */ })
  1. 使用
new Vue({ el: '#container '})

单文件组件

  1. 在*.vue中定义
<template>
  <div id='app'>This will be pre-compiled</div>
</template>
<script src="./my-component.js"></script>
<style src="./my-component.css"></style>
  1. 在index.html中使用,或者通过vue-router来使用
<body>
  <div id="app"></div>
  <!-- built files will be auto injected -->
</body>

Mint UI中的样式:PostCSS深入学习: 结合BEM和SUIT方法使用PostCSS

vue_cli构建的项目如何去除脏边距

在App.vue中的样式添加以下代码:

<style>
  ...
  * {
    margin: 0;
    padding: 0;
  }
</style>

CSS优先级

Vue中如何自定义提供给外部修改数据的组件

例如自定义ToolBar标题栏,组件的标题是需要使用该组件的地方去自定义的:

第一种方法:使用prop类型传值

  1. 定义组件ToolBar.vue
<template>
  <div :style="{background : bg_color}">
    <img src="../../static/img/toolbar_nav.png"/>
    <span>{{page_title}}</span>
    <i></i>
  </div>
</template>
<script>
export default{
  props: {
    page_title: String,
    bg_color: [Number, String]
  }
}
</script>
  1. 使用组件
<template>
    <div>
  <ToolBar page_title="业务开展区域查询" bgColor="#f1f1f1"></ToolBar>
    </div>
</template>

使用slot插槽,深入理解vue中的slot与slot-scope

  1. 定义组件ToolBar.vue
<template>
  <div :style="{background : bg_color}">
    <img src="../../static/img/toolbar_nav.png"/>
    <span>
      <!--使用slot插槽-->
      <slot></slot>
    </span>
    <i></i>
  </div>
</template>
...
  1. 使用组件
<template>
    <div>
      <ToolBar bgColor="#f1f1f1">业务开展区域查询</ToolBar>
    </div>
</template>

根据状态动态切换CSS样式

通过class对象绑定切换样式

<template>
  <div>
    <div class="page_rest">
      <button type="button" :class="{btnEnable : isInputNonEmpty}">{{button_name}}</button>
    </div>
  </div>
</template>
<script>
  export default {
    data () {
      return {
        isInputNonEmpty: false,
        credit_no: ''
      }
    },
    watch: {
      credit_no: function (val, oldVal) {
        if (val != null && val != undefined && val.length > 0) {
          this.isInputNonEmpty = true
        } else {
          this.isInputNonEmpty = false
        }
      }
    }
  }
</script>
<style scoped>
  .btnEnable {
    color: #ffffff;
    background-image: linear-gradient(90deg, #ff8c40 0%, #ff6400 100%)
  }
</style>

css实现遮罩效果以及帧布局使用

自定义组件绑定事件不起作用

// @click='handleClick’ 不起作用
@click.native='handleClick’

在组件上绑定事件,你不加 .native修饰符 告诉它是这是原生点击事件,它会以为这是你定义的自定义事件。

Vue常用事件

[Vue中如何在父组件中获取自定义的CheckBox的选中状态]

  1. 自定义CheckBox通过v-model观察CheckBox的选中状态变化,然后通过监听器观察checked值得变化,在方法内部通过emit自定义事件,触发onCheckChange自定义事件
<template>
  <div>
    <input type="checkbox" id="checkbox-2-1" class="regular-checkbox big-checkbox" v-model="checked"/><label
    for="checkbox-2-1"></label>
  </div>
</template>
<script>
  export default{
    data(){
      return {
        checked: false
      }
    },
    watch: {
      checked: function (val, oldVal) {
        this.$emit('onCheckChange', val)
      }
    }
  }
</script>
  1. 在使用CheckBox的父组件中绑定onCheckChange事件
<template>
  <div>
      <CheckBox type="checkbox" class="checkBox" @onCheckChange="onCheckChange"></CheckBox>
      <input type="text" class="phone" v-if="check" placeholder="请输入您的电话号码">
  </div>
</template>
<script>
  import CheckBox from '../Checkbox.vue'
  export default{
    components: {CheckBox},
    data(){
      return {
        check: false
      }
    },
    methods: {
      onCheckChange: function (val) {
        this.check = val
      }
    }
  }
</script>

Vue2.0组件之间的通信

html 去掉input 获取焦点时的边框

Vue2.0 如何传递 数值或boolean

Vue中怎么才能使用data中的数据做为变量的值?

必须使用计算属性

input标签限制输入长度

oninput="if(value.length>11)value=value.slice(0,11)"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270