• Vue(1)


    目录

     

    1.Vue特点

    2.Vue安装

    3.Vue第一个实例

     4.Vue模板语法

    1.{{xxx }}   插值语法

    2.v-xxx  指令语法  

    5.Vue数据绑定

    1.数据单向绑定   v-bind 就是一个单向绑定指令

    2.数据双向绑定  v-model 就可以实现数据双向绑定

    6.data 和 el 的2种写法

    1.el 的两种写法 

    2.data 的2种写法

     


    1.Vue特点

    1.采用组件化模式,提高代码复用率,且让代码更好维护

    分析:一个.vue文件就是一个组件,各个组件之间不影响,其它项目需要某个组件时,直接把组件移过去就可直接用。

    2.编写人员不用直接操作DOM,提高开发效率。 

     3.使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点。

    2.Vue安装

    3.Vue第一个实例

    1. <script src="../js/vue.js">script>
    2. <body>
    3. <div id="app">
    4. <h1>hello,{{name}}h1>
    5. div>
    6. <script>
    7. //创建vue实例 配置项里面的key值不能乱改
    8. new Vue({
    9. el:'#app', //el用于指定当前Vue实例为哪个容器服务,通常为CSS选择器字符串
    10. data:{
    11. name:'Vue第一天' //data中用于存储数据,数据供 el所指定的容器 去使用(容器之外就不能使用),指暂时先写为一个对象
    12. }
    13. });
    14. script>
    15. body>

    分析总结1:

    1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象

    2.app容器里面的代码依然服务html规范,只不过混入了一些特殊的Vue语法 {{}}

    3.app容器中的代码被称为 Vue模板

    注意点1:容器和Vue实例是一对一的关系,一个容器只能对应一个Vue实例,一个Vue实例只能对应一个容器。

    注意点2:app容器里面特殊的Vue语法 {{}},双花括号中只能是JS表达式

    这里注意区分:JS表达式和JS语句

    01.JS表达式:一个表达式会生成一个值,可以放在任何一个需要值的地方

    (1)a

    (2)a + b

    (1)demo(1)    函数表达式

    (1)x===y? 'a' : b  三元表达式

    02.JS代码(语句)

    (1)if(){ }

    (2)for(){ }

    1. <div id="app">
    2. <h1>hello,{{name}},{{Date.now()}},{{1+1}}h1>
    3. div>
    4. <script>
    5. //创建vue实例 配置项里面的key值不能乱改
    6. new Vue({
    7. el:'#app', //el用于指定当前Vue实例为哪个容器服务,通常为CSS选择器字符串
    8. data:{
    9. name:'Vue第一天' //data中用于存储数据,数据供 el所指定的容器 去使用(容器之外就不能使用),指暂时先写为一个对象
    10. }
    11. });
    12. script>

    结果:

    注意点3:data中的数据分层显示

      

    分析总结2:

    4.容器和Vue实例是一对一的关系

    5.真实开发中只有一个Vue实例,并且会配合着组件一起使用

    6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性

    7.一旦data中的数据发生改变,那么模板中用到该数据的地方也会自动更新。

     4.Vue模板语法

    1.{{xxx }}   插值语法

    插值语法一般用于标签体里面的内容

    标签体里面的内容

    eg:

    {{name}}

    2.v-xxx  指令语法  

    eg:我们用 v-bind 来举例,解析标签属性: v-bind 可以简写 为  :  eg: v-bind:href='xxx' 就是 :href='xxx'

    1. <div id="app">
    2. <h1>插值语法h1>
    3. <h1>hello,{{name}}h1>
    4. <hr>
    5. <h1>指令语法h1>
    6. <a v-bind:href="url">点我去百度查Vue2文档a>
    7. <a :href="url.toUpperCase()">点我去百度查Vue2文档a>
    8. div>
    9. <script>
    10. new Vue({
    11. el:'#app', //el用于指定当前Vue实例为哪个容器服务,通常为CSS选择器字符串
    12. data:{
    13. name:'Vue第一天', //data中用于存储数据,数据供 el所指定的容器 去使用(容器之外就不能使用),指暂时先写为一个对象
    14. url:'https://www.baidu.com'
    15. }
    16. });
    17. script>

    v-bind可以给标签的任何一个属性去动态的绑定值,上面代码中,v-bind给a标签的href属性动态绑定了一个值,"url" ,此时就不是一个字符串,url是一个 表达式,对应data中的url

    分析总结3:

    Vue模板语法有2大类:

    1.插值语法

            功能:用于解析标签体内容

            写法:{{xxx}},xxx是JS表达式,且可以直接读取到data中的所有属性

    2.指令语法

            功能:用于解析标签(包括:标签属性,标签体内容,绑定事件。。。)

            举例:v-bind:href = "xxx" 或 简写为  :href  = "xxx",xxx同样要写JS表达式,

                       且可以直接读取到data中的所有属性

             备注:Vue中有很多的指令,且形式都是: v-??? 。

    5.Vue数据绑定

    1.数据单向绑定   v-bind 就是一个单向绑定指令

    1. <div id="app">
    2. 单向数据绑定: <input type="text" v-bind:value="name">
    3. div>
    4. <script>
    5. new Vue({
    6. el:'#app',
    7. data:{
    8. name:'天空'
    9. }
    10. })
    11. script>

    2.数据双向绑定  v-model 就可以实现数据双向绑定

    v-model:value 可以简写为 v-model  ,因为v-model 默认收集的就是value值

    1. <div id="app">
    2. 单向数据绑定: <input type="text" v-bind:value="name">
    3. <br>
    4. 双向数据绑定: <input type="text" v-model:value="name">
    5. <br>
    6. 双向数据绑定: <input type="text" v-model ="name">
    7. div>
    8. <script>
    9. new Vue({
    10. el:'#app',
    11. data:{
    12. name:'天空'
    13. }
    14. })
    15. script>

    注意点:

    以下代码是错误的,因为v-model只能应用在表单类元素(输入类元素,有value值)

     <h2 v-model:x="name">你好啊h2>

     分析总结4:

    Vue中有2种数据绑定的方式:

    1.单向绑定(v-bind):数据只能从data流向页面

    2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data

    备注:

            1.双向绑定一般都应用在表单类元素上(如:input,select等)

            2.v-model:value 可以简写为 v-model  ,因为v-model 默认收集的就是value值

    6.data 和 el 的2种写法

    1.el 的两种写法 

    写法1:

    写法2:利用Vue实例

    1. <div id="app">
    2. 你好,{{name}}
    3. div>
    4. <script>
    5. const v = new Vue({
    6. data:{
    7. name:'天空a'
    8. }
    9. });
    10. //利用实例对象原型上面的 $mount()挂载
    11. v.$mount('#app'); //el的二种写法
    12. script>

    分析:这两种方式都可以用,第二种方式灵活一点 

    2.data 的2种写法

    写法1:对象式

    写法2:函数式, data写成一个函数函数返回值是一个对象对象里面是需要用的数据

    1. <div id="app">
    2. 你好,{{name}}
    3. div>
    4. <script>
    5. const v = new Vue({
    6. //data 的第二种写法:函数式
    7. data:function(){
    8. console.log(this,11111); //Vue {_uid: 0, _isVue: true, __v_skip: true, _scope: EffectScope, $options: {…}, …
    9. return {
    10. name:'天空啊'
    11. }
    12. }
    13. }).$mount('#app');
    14. script>

    注意点:data函数不能写成箭头函数,写成箭头函数this会指向window,必须写function

    关键字,或者用ES6中语法。

    分析总结5:

    1.el有2中写法

            (1)new Vue 时候配置el属性

            (2)先创建Vue实例,随后再通过  实例.$mount('#app') 指定el的值

    2.data有2种写法

            (1)对象式

            (2)函数式

               如何选择:一般情况下哪种都可以,但是学到组件时,data必须用函数式,否则会报错

    3.一个重要原则:

            由Vue管理的函数一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了。

    Vue管理的函数:写再Vue的配置对象里面,如data的函数式写法就属于Vue管理的函数

  • 相关阅读:
    大数据之Kafka
    Spring IOC源码:ApplicationContext刷新前准备工作
    web3.0是什么?
    Elasticsearch:Data streams(三)
    Fiddler抓包原理和使用详解
    量化交易系列【1】常用的Pandas数据统计及计算相关函数
    redis学习4-list
    Linux——基础指令
    【python入门篇】元组、字典和集合(3)
    【QT】QT 按钮保持按下时的样式
  • 原文地址:https://blog.csdn.net/weixin_47075145/article/details/127093256