辛巴的2020年Vue全套教程 学习笔记P1 基础指令

在b站听《辛巴的2020年Vue全套教程》想着听完课记录一下学习笔记方便自己复习~

初始化

  • 引用js
  • 实例化vm
  • 页面设置id="app"
    三件套

指令

其实把握simba老师讲的2个原则就足够了

原则1:{{}} 只能写在html标签的里面,不能写在标签属性"" 的里面

正确写法√

<div>{{niubi}}</div>

错误写法×

<li v-for="{{arr}}"></li> 

那么我偏要在属性中使用变量怎么办呢?
对了,使用指令
那么使用指令之后发生了什么变化呢?

原则2:书写指令之后""内容变成js格式---变量是变量,字符统一加上' '

下面举例三种绑定属性

  • img
<img :src="item.img" alt="">
  • href
<a :href="'detail.html?name='+item.name">{{item.name}}</a>

这里前半段 'detail.html?name=' 是字符 +后面item.name 是变量。要加以区分

  • style
<li  style="width: 100px;height: 150px;background-color: aqua;"></li>
<li  :style="{width: '100px',height: '150px',backgroundColor: 'aqua'}"></li>

style 的转变比较特殊,加了绑定之后""里面是对象,那么修改之后要做3步骤
1.加{ } ,把字符串的; 改成对象的 ,
2.对象的key 直接写,而值 value 要加'' 比如 {width: '100px'} 如果有变量 {width: w+'px'}
3.key 的值不能有 - ,background-color: aqua; 要改写成 backgroundColor: 'aqua' 驼峰的形式

事件

参照原则2,函数可以直接加(参数) 也可以不加

<button @click="del(i)">删除</button>

methods 中的函数不可以是箭头函数,会影响this的指向

双向绑定

  • 1.把 js中的变量绑定到标签上
英雄 :<input type="text" :value="addHero">
  • 2.给标签绑定事件,来获取标签中的值
英雄 <input type="text" :value="addHero" @input="setHero">
 methods: {
                setHero(e){
                    //e.target指向当前的标签
                    console.log(e.target.value);
                    this.addHero = e.target.value
                }
            }
  • 2.2 参照原则2 来优化一下,把js 语句写到标签中,其中$event 代表上面的 e
英雄 <input type="text" :value="addHero" @input=" addHero = $event.target.value"> 
  • 3.一来一回 是实现了双向绑定,但是比较麻烦,官方使用了v-model
英雄 <input type="text" v-model="addHero">

总结

我之前自己看官网的时候,指令给我的感觉极其复杂,容易写错,又是: 又是@ 又是{{}} 又是 ''
但是听完simba老师的课,牢记两个原则,不在属性里写{{}} 和一旦绑定之后按照 js 的原则去写,这些概念和符号就不会再混淆了
还有双向绑定的部分也挺精彩的,有种小农经济转到工业革命的畅快~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue一文学会? Vue大家都知道就是一个国内非常流行的框架,最近因为过了许久没用Vue对于Vue的许多早已淡忘,...
    看物看雾阅读 636评论 0 3
  • 序言:乱七八糟一锅粥! 基于Vue.js 教程、介绍— Vue.js 心得: 在vue中,推荐始终使用 kebab...
    苦苦修行阅读 663评论 0 1
  • Vue简介 2014年诞生,2013年react,09年angularjs 作者: 尤雨溪 核心概念: 组件化 双...
    简单就好wfc阅读 1,671评论 0 1
  • 1.vue的新建: (1)在head添加 来添加vue库。 (2)在下边的body中再添加 var vm =vu...
    d48864d6c1b5阅读 303评论 0 0
  • Vue.js 基础 一套用于构建用户界面的渐进式框架, 核心库只关注视图层,易于上手,便于与第三方库或现有项目整合...
    前端小咖阅读 2,303评论 1 33