Vue总结(1),赶快看过来

vue是什么?

Vue.js的定位是一个渐进式框架 前端三大mvvm框架 vue , react ,angular

如今Vue.js受到越来越多关注的一个重要原因:你只需要具备基本的HTML/JavaScript/CSS 基础,就可以快速上手

下面就让我为你介绍vue的基本概念

1.引入vue.js库

<script src="vue.js"></script>

2. 创建vue实例

<script>

   new Vue({

      el:'#app',

      data: {msg:'Hello,Vue.js 2'}

   })

</script>

3. 完整html导入

<div id="app">

   hello Vue!

</div>

4.完整的helloWorld代码

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <script type="text/javascript" src="../assets/js/vue.js"></script>

    <title>Helloworld</title>

</head>

<body>

    <h1>Hello World</h1>

    <hr>

    <div id="app">

        {{message}}

    </div>

    <script type="text/javascript">

        var app=new Vue({

            el:'#app',

            data:{

                message:'hello Vue!'

            }

        })

    </script>

</body>

</html>

做出来这些,那么恭喜你,你已经跨上了vue的一个台阶!

模板语法-文本语法

文本

数据绑定最常见的形式就是使用{{}}语法 (双大括号)

<span> {{message}}</span>

也可以使用v-text方法

<span v-text="message"></span>

html文本

双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html

<div id="app">

       <div v-html="rawMsg"></div>

   </div>

   <script type="text/javascript">

       var app=new Vue({

           el:'#app',

           data:{

               message:'hello Vue!',

               rawMsg:'<h1>你好vue</h1>'

           }

       })

   </script>

模板语法-属性

给html标签绑定一个属性值应该使用 v-bind:属性名称 

v-bind:属性=“指令值”
:属性=“值”

 实例化参数

el:"#app"  选择目标标签
data:{} 指定数据
data(){return{}}  一个函数返回一个对象
methods:{a(){}}    定义事件

计算属性

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如:

<div id="example">

  {{ msg.split('').reverse().join('') }}

</div>

,这里是想要显示变量 msg 的翻转字符串。当你想要在模板中多次引用此处的翻转字符串时,就会更加难以处理。

当你需要从现有数组得到新的数据这个时候你就需要计算了computed

<div id="example">

  <p>原来的信息: "{{ msg }}"</p>

  <p>计算翻转的信息: "{{ rmsg }}"</p>

</div>

var vm = new Vue({

  el: '#example',

  data: {

    msg: 'Hello'

  },

  computed: {

    // 计算属性的 getter

    rmsg: function () {

    // `this` 指向 vm 实例

    return this.msg.split('').reverse().join('')

    }

  }

})

对象变化监听

我们需要监听对象的属性值是否发生改变用

<div id="app">

<p>计数器: {{ num }}</p>

<button @click="num.age++">点我</button>

</div>

<script>

var vm = new Vue({

    el: '#app',

    data: {

        num: {age:1}

    },

    watch:{

      'num':{

        handler:function(nval, oval) {

          console.log('num变化 :' + oval.age + ' 变为 ' + nval.age + '!')

          },

        deep:true     

        }

    }

});

</script>

 

除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。 下面我们注册一个全局指令 v-focus, 该指令的功能是在页面加载时,元素获得焦点

<div id="app">

  <p>页面载入时,input 元素自动获取焦点:</p>

  <input v-focus="">

</div>

  

<script>

// 创建根实例

new Vue({

  el: '#app',

  directives: {

    // 注册一个局部的自定义指令 v-focus

    focus: {

      // 指令的定义

      inserted: function (el) {

        // 聚焦元素

        el.focus()

      }

    }

  }

})

</script>

一个指令定义对象可以提供如下几个钩子函数 (均为可选):
bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。
update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值