vue.js 基本指令

前端主流框架:vue  react  angular

  Vue  特点 组件化开发、数据驱动(mvvm

    Vue虚拟dom是借鉴react

渐进式框架:

    主张的少:没有那么多的条条框框

两种开发模式:

    1.在HTML中书写

    2.脚手架开发

Vue的基本指令

v-bind        绑定属性  简写是 :

v-clock       解决页面初次加载数据模板数据没有渲染问题,说白了就是说看不到双花括号

 vue.js 基本指令

v-html           解析时会解析标签

v-text           不会解析标签

v-model            双向绑定 表单指令

v-if v-if="true"     显示DOM   v-if=" false" 隐藏DOM

v-else v-if一起使用

v-on 绑定事件      简写为@

v-ifv-show的区别

  v-if 的特点:每次都会重新删除或创建元素 v-if 有较高的切换性能消耗

  v-show 的特点: 每次不会重新进行DOM的删除和创建操作,只是切换了元素的 display:none 样式。v-show 有较高的初始渲染消耗

ref$refs

获取原生dom节点  ref

在标签中写ref=‘ ‘  获取到的是DOM属性

$refs.‘变量名‘.classname=" "  可以将类名加入到里面

 

Nodejs中解决跨域问题除了那一串长代码,还可以用一个插件

npm install cors --save

然后在app.js中调用

const cors = require(‘cors’)

app.use(cors())

app.use(express.json())//获取json格式过来的数据

const express = require(‘express‘)

const app = new express()

const cors = require(‘cors‘)

app.use(cors())

app.use(express.json())  // 获取json格式过来的数据

Vue在操作时,操作的是虚拟dom

    虚拟DOM是在HTML页面加载出来之前生成js代码,进行解析,如果在操作DOM时,不是直接修改DOM,是修改生成的js代码,并再进行页面渲染。

Vue操作指令 v-for

    不仅可以用来遍历数组,还可以用来遍历对象

    遍历数组用法: v-for="(item ,index) in 数组名"item是值,index是索引

    遍历数组对象: v-for="(item ,index) in 对象名"item是值,index是索引

    遍历之后可以将值和索引放在相应的位置。

例如写选项卡的选项:

 <div id="app">

    <ul>

      <li v-for="(item, index) in list" :class="{‘active‘ : current==index }" @click="change(index)">{{ index }} ----- {{ item }}</li>

    </ul>

  </div>

  <script>

    new Vue({

      el: ‘#app‘,

      data: {

        list: [1, 2, 3],

        flag: true,

        current: 0,

      },

      methods: {

        change(index){

          this.current = index

        }

  </script>

 

上述代码显示的结果如下

vue.js 基本指令

可以点击更换样式

 

遍历对象并添加点击事件

 <div id="app">

    <input type="text" v-model="username" placeholder="请输入名字">  <button @click="add">添加</button>

    <ul>

      <li v-for="(item,index) in list" :key="item">

 <!-- 遍历完对象,利用每个对象的属性相对应的值进行显示 -->

        <input type="checkbox">  {{ item.id }}---{{ item.name }}---{{ item.age }}

      </li>

    </ul>  

  </div>

  <script>

    new Vue({

      el: ‘#app‘,

      data: {

        username:‘‘,

        list: [

          { id:1, name:‘马云‘, age:60},

          { id:2, name:‘黄峥‘, age:40},

          { id:3, name:‘马化腾‘, age:48},

          { id:4, name:‘孙正义‘, age:60}

        ]

      },

      methods: {

        add() {

          this.list.unshift({

            id: Math.floor(Math.random()*100),

            name: this.username,

            age: Math.floor(Math.random()*100),

          })

          this.username = ‘‘

        }

      }

    })

  </script>

   

 

  上述代码中的key,相当于一个标记,在dom发生变化时,可以根据标记来记录相应的值。

vue.js 基本指令

 

 

无论怎么添加dom,选中的仍然是之前标记的1--马云--60

 

v-for循环对象:

 

  <!-- val指属性的值


    key指的是键名


    i指的是索引-->


  <div id="app">


    <div v-for="(val, key, i) in user">


      {{ val }} --- {{ key }} --- {{ i }}


    </div>


  </div>


  <script>  


    new Vue({


      el: ‘#app‘,


      data: {


        user: {


         name: ‘张三‘,


         age: 30


        }


      }


    })


  </script>  

 

      循环的一个user对象。括号中的三个形参,第一个代表属性的值,第二个代表键名,第三个代表索引值。

 

多个vue应用的实例:用来解决在不想修改别人的代码时,多应用一个vue,在此基础上自己修改。

 

class动态操作类名

 

  1.数组方式写法

 

例:  .red {

      color:red;

    }

    .fons {

      font-size: 100px;

    }

 <div id="app">

   <div class="red fons">红色的</div>

  </div>

  <script>

    new Vue({

      el: ‘#app‘ 

    })

    结果为:vue.js 基本指令

 

 

  2.在数组中写三元表达式

vue.js 基本指令

  3.对象方式使用样式

   对象写法语法:就是说class名字已经存在,然后在对象里面只需要对其赋值true或者false即可实现

vue.js 基本指令

 

vue.js 基本指令

上一篇:Android-----Intent中通过startActivity(Intent intent )隐式启动新的Activity


下一篇:JSON文件读取和显示