首先了解一下基本指令

v-mind.title = '属性名'  给某个dom添加属性

v-model = '可以是方法名、数据、算法、布尔属性'

v-if='true/false'  让元素消失,是指从页面上删除元素,或者显示,是从页面上添加元素
也可以当if条件用,
但是vue一般需要条件判断,通常使用三目运算

v-show= 'true/false' 让元素隐藏、显示    跟display:block/none相同

:key = '任意值'   不重复使用的指令

:class = {a,b}/{a:b,c:d}/[a,b,c]    class添加(前面不要少了冒号)

v-for('(i,index) in list(对象、数组)')   给什么元素上面添加,就循环这个元素执行

v-on:事件名='function名'  也可简写   @click='function名'

eg:    v-on:click='fun'     @click='fun';   fun 就是函数名,简写的意思

如果事件需要传参  可以使用function名(参数)

按键事件@key.键名/code值='fun'   回车的时候触发什么事件

eg:    @key.enter='fun'     @key.13='fun'

如果觉得vue方法满足不了自己的需求,那就自定义Vue方法,举例获取焦点focus

`1.先来一个全局定义

  Vue.directive('focus', {
  // 当绑定元素插入到 DOM 中。
  inserted(el) { 
 // /*el代表所绑定的元素*/
    // 聚焦元素
    el.focus()
  },
  update(el) {
    el.focus();
  }
});

2.在看一个局部定义

  let vm = new Vue({
  // 声明一个vue的对象
  el: '.ipt',
  //el:后面接选择器的内容
  directives: {
  //自定义函数都放在directives
    focus: {
      // 指令的定义
      inserted: function(el) {
        el.focus()
      }
    }
  }
})

创建一个文件为Vue,右击文件Vue空白处,打开git 输入

npm i -S vue     回车

新建一个html文件,在node_modules里面找到vue.js,用script引入

每次使用VUE都需要先引用vue.js,然后new一个新对象,用变量保存起来

View视图层

<div id=vm>
{{msg}}
<ul>
  <li @click='fun'>
  点我显示执行fun方法
  </li>
  <li :class='{a:visibility===true}'>
    我是class标签增加
  </li>
  <li>
    <p v-for='(i,index) in todolist'>
      姓名:<span>{{i.name}}</span>
      年龄:<span>{{i.age}}</span>
    </p>
  </li>
</ul>
</div>

<script src="./vue.js" charset="utf-8"></script>

Model层:

<script type="text/javascript">
var app = new Vue({
  el: '#vm',//选择器
  data: {
    //存储值地方
    msg: '我是vue',
    cla:'biaoqian',
    visibility: true,
    todolist: [
      {'name':'lsk','age':12},
      {'name':'ksj','age':16},
      {'name':'lxk','age':14},
      {'name':'lqk','age':15}
    ]
  },
  methods: {
    //存储方法的地方
    fun: () => {
      console.log('我是fun方法');

    }
  },
  computed: {
    //储存计算方法的地方
    showNuw() {
      return this.todolist.length //this指的new 出来的新对象 app
    },
    AllDown: {
      get() {
          console.log("我是get")
        },
        //页面刷新先执行一次
        //当执行AllDown方法,
        //则先运行set,再运行一次get
        set(vaule) {
          console.log("我是set")
          //并且vaule 这是指的调用者的新值
        }
    }
  },
  watch: {
    //储存监听方法的地方
    todolist: {
      //todolist 是监听对象的名
      deep: true, //启动监听
      handler: this.showNuw //this指的new 出来的新对象 app    或者方法()=>{}
    }
  }
})
</script>

还有很多小细节没总结完,后期会慢慢补上的


CoolLsk
119 声望11 粉丝

座右铭是树袋熊