vue.js 入门精要

废话不多说,直接上干货

vue的核心:修改数据(model),html节点就会自动更新

(1)绑定数据:

Js代码  

  1. var vm;  
  2.         var count=1;  
  3.         $(function () {  
  4.             vm=new Vue({  
  5.                 el: '#demo',  
  6.                 data: {  
  7.                     message: 'Hello World!',  
  8.                     number: 2,  
  9.                     ok:true,  
  10.                     name:'whuang'  
  11.                 }  
  12.             });  
  13.             vm.$watch('data', function (newVal, oldVal) {  
  14.                 console.log('$watch');  
  15.             })  
  16.         });  

 html代码:

Html代码  

  1. <div id="demo">  
  2.     {{ message }}<br>  
  3.     {{ number + 1 }}<br>  
  4.     {{ ok ? 'YES' : 'NO' }}<br>  
  5.     {{ message.split('').reverse().join('') }}<br>  
  6.     {{ name | uppercase }}  
  7.     <hr>  
  8.     <input type="button" class="{{ ok ? 'cls1' : 'cls2' }}" value="更新数据" onclick="updateData2()" >  
  9. </div>  

 

 

(2)动态更新数据

Js代码  

  1. var updateData2= function () {  
  2.            vm.$data.message="更新后的数据"+(count++);  
  3.            vm.$data.ok=false;  
  4.        };  

 如何获取vue的data?

 

注意:data前面要加$

 

(3)vue表达式 

Html代码  

  1. {{ number + 1 }}<br>  
  2.     {{ ok ? 'YES' : 'NO' }}<br>  
  3.     {{ message.split('').reverse().join('') }}<br>  
  4.     {{ name | uppercase }}  

 

动态修改样式:

Html代码  

  1. <input type="button" class="{{ ok ? 'cls1' : 'cls2' }}" value="更新数据" onclick="updateData2()" >  

 在js方法中修改ok的值即可

(4)vue计算属性

Js代码  

  1. var vm = new Vue({  
  2.                 el: '#example',  
  3.                 data: {  
  4.                     a: 1  
  5.                 },  
  6.                 computed: {  
  7.                     // 一个计算属性的 getter  
  8.                     b: function () {  
  9.                         // `this` 指向 vm 实例  
  10.                         return this.a + 1  
  11.                     },  
  12.                     upper: function () {  
  13.                         return "<span style='color:red' >school</span>".toUpperCase();  
  14.                     },  
  15.                     haha: function () {  
  16.                         return 'iloveyou'.split('');  
  17.                     }  
  18.                 }  
  19.             })  

 html代码:

Html代码  

  1. <div id="example">  
  2.     a={{ a }}, b={{ b }}<br>  
  3.     {{{ upper }}}<br>  
  4.     {{ haha }}<br>  
  5. </div>  

 

 

(5)监听数据的变化


 执行结果:

new:更新后的数据1;old:Hello World!

 

(6)如何获取vue的节点和数据

节点:vm.$el

数据:vm.$data

时间: 2024-12-20 13:03:43

vue.js 入门精要的相关文章

vue.js入门教程之基础语法小结_javascript技巧

前言 Vue.js是一个数据驱动的web界面库.Vue.js只聚焦于视图层,可以很容易的和其他库整合.代码压缩后只有24kb. 以下代码是Vue.js最简单的例子, 当 input 中的内容变化时,p 节点的内容会跟着变化. <!-- html --> <div id="demo"> <p>{{message}}</p> <input v-model="message"> </div> new

vue.js入门教程之计算属性_javascript技巧

前言 计算属性是用来声明式的描述一个值依赖了其它的值.当你在模板里把数据绑定到一个计算属性上时,Vue 会在其依赖的任何值导致该计算属性改变时更新 DOM.这个功能非常强大,它可以让你的代码更加声明式.数据驱动并且易于维护. 模板中表达式非常便利,但是它们实际上只用于简单的操作. 模板是为了描述视图的结构,在模板中放入太多的逻辑会让模板过重且难以维护. 这就是为什么 Vue.js 将绑定表达式限制为一个表达式, 如果需要多于一个表达式的逻辑,应当使用计算属性. 来看这一个简单的例子 <div i

vue.js入门(3)——详解组件通信_javascript技巧

本文介绍vue.js组件,具体如下: 5.2 组件通信 尽管子组件可以用this.$parent访问它的父组件及其父链上任意的实例,不过子组件应当避免直接依赖父组件的数据,尽量显式地使用 props 传递数据.另外,在子组件中修改父组件的状态是非常糟糕的做法,因为: 1.这让父组件与子组件紧密地耦合: 2.只看父组件,很难理解父组件的状态.因为它可能被任意子组件修改!理想情况下,只有组件自己能修改它的状态. 每个Vue实例都是一个事件触发器: $on()--监听事件. $emit()--把事件沿

Vue.JS入门教程之自定义指令_javascript技巧

基础 Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和定义对象来注册一个全局自定义指令.定义对象需要提供一些钩子函数(全部可选): bind: 仅调用一次,当指令第一次绑定元素的时候. update: 第一次是紧跟在 bind 之后调用,获得的参数是绑定的初始值:以后每当绑定的值发生变化就会被调用,获得新值与旧值两个参数. unbind:仅调用一

vue.js入门教程之绑定class和style样式_javascript技巧

一.前言 相信大家都知道数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性,我们可以用 v-bind 处理它们:我们只需要计算出表达式最终的字符串.不过,字符串拼接麻烦又易错.因此,在v-bind 用于 class 和 style 时,Vue.js 专门增强了它.表达式的结果类型除了字符串之外,还可以是对象或数组. 二.绑定 HTML Class 请注意:尽管可以用 Mustache 标签绑定 class,比如 class="{{ className }}&quo

Vue.JS入门教程之列表渲染_javascript技巧

你可以使用 v-repeat 指令来基于 ViewModel 上的对象数组渲染列表.对于数组中的每个对象,该指令将创建一个以该对象作为其 $data 对象的子 Vue 实例.这些子实例继承父实例的数据作用域,因此在重复的模板元素中你既可以访问子实例的属性,也可以访问父实例的属性.此外,你还可以通过 $index 属性来获取当前实例对应的数组索引. <ul id="demo"> <li v-repeat="items" class="ite

JavaScript的MVVM库Vue.js入门学习笔记_javascript类库

一.v-bind 缩写 <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a> <!-- 完整语法 --> <button v-bind:disabled="someDynamicCondition">Button</button> <!-- 缩写

Vue.JS入门教程之事件监听_javascript技巧

你可以使用 v-on 指令来绑定并监听 DOM 事件.绑定的内容可以是一个当前实例上的方法 (后面无需跟括号) 或一个内联表达式.如果提供的是一个方法,则原生的 DOM event 会被作为第一个参数传入,同时这个 event 会带有 targetVM 属性,指向触发该事件的相应的 ViewModel: <div id="demo"> <a v-on="click: onClick">触发一个方法函数</a> <a v-on

Vue.JS入门教程之处理表单_javascript技巧

本文实例为大家分享了Vue.JS表单处理的相关内容,供大家参考,具体内容如下 基本用法 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.16/vue.m