2017/9/1 VUE学习

2017-09-06  本文已影响6人  竹溪穆褕

一.vue的核心库只关注视图层,易于与第三方库或既有项目整合

二.声明式渲染

1.   <div id="app">

{{message}}

</div>

var app=new Vue({

    el:'#app',

    data:{

         message:'hellow  Vue'

    }

})

2. 绑定DOM元素属性

v-bind:title="message"   (v-bind指令,改变DOM节点的title属性,将title属性与实力Vue的message属性绑定,在浏览器的控制台中输入app.message改变message值)

三. 条件与循环

1.控制元素的现实v-if

<div id="app"> <p v-if="seen">现在看见我啦</p> </div>

var app=new Vue({

el:'#app',

data:{ seen:true }

})

在控制台输入app.seen=false,DOM元素内的字体不显示

2. v-for    用来绑定数组的数据来渲染一个项目列表

<div id="app"> <ol> <li v-for="todo in todos"> { { todo.text } } </ol> </div>

var app=new Vue({

el:'#app',

data:{ todos:[

{text:'学习JavaScript'},

{text:'学习VUE'},

{text:整个牛项目}

] }

})

在控制台输入app.todos.push ( { text:'新项目' } )

四. 处理用户输入

1. 使用v-on 指令绑定一个监听器,通过调用VUE实例中定义的方法,实现用户和你的应用活动

<div> <p>{{message}}</p> <button v-on:click="reverseMessage">逆转消息</button> </div>

var app=new Vue({

el:'#app',

data:{ message:'Hellow VUE' },

methods:{

reverseMessage:function(){

this.message=this.message.split('').reverse().join('')

}

}

})

2. v-model 指令能实现表单输入和应用状态(VUE实例中的数据)之间的双向绑定

<div id="app"> <p> {{message}} </p>  <input  type="text"  v-model="message"/></div>

var app=new Vue({

el:'#app',

data:{message:'Hellow VUE'}

})

五. 组件化应用构建

使用小型,独立,和通常可复用的组件构建大型应用

//  一个组件本质上是一个拥有预定义选项的VUE实例

1. 在VUE中注册组件

Vue.component('todo-item', {

template: '<li>这是一个待办项</li>'

})

html:  <ol>

 //创建todo-item组件的实例

<todo-item></todo-item>

 </ol>

该方法为全局注册组件,需要在VUE实例化之前使用

实例:

<div id="app"> 

<ol>

<todo-item v-for="item in items"  v-bind:todo="item" v-bind:key="item.id"> </todo-item></div>

</ol>

</div>

Vue.component('todo-item', {

props:['todo'],

template:'<li>{{todo.text}}</li>'

})

new Vue({

el:'#app',

data:{

items:[

{id:0, text:'蔬菜'},

{id:1, text:'奶酪'},

{id:2, text:'水果'},

]

}

})

上一篇下一篇

猜你喜欢

热点阅读