Vue 入门(声明与渲染)
cnmp i vue//通过cnmp下载
<script src="node_modules/vue/dist/vue.min.js"></script>//像引入jq一样引入Vue
Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:
<div id="app">
{{ message }}//解析
<span v-text='text'></span>//指令读取
</div>
var app=new Vue({
el : #app//挂载点 el 为 element的缩写
date :{
//数据
message:'Hellow word'
text:'我是Vue'
}
})
这里我们遇到了一点新东西。你看到的 v-bind
特性被称为指令。
指令带有前缀 v-
,以表示它们是 Vue
提供的特殊特性。
在这里,该指令的意思是:“将这个元素节点的 title
特性和 Vue
实例的 message
属性保持一致”。
<div id="app-2">
<span v-bind:title="message">//指令用于绑定html
鼠标悬停几秒钟查看此处动态绑定的提示信息!
</span>
</div>
var app2 = new Vue({
el: '#app-2',
data: {
message: '页面加载于 ' + new Date().toLocaleString()
}
})
条件与循环
1.条件判断
<div id="app-3">
<p v-if="seen">现在你看到我了</p>//指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
<p v-if="ok">你看不到我</p>//
</div>
var app3 = new Vue({
el: '#app-3',
data: {
seen: true//seen =true时,执行代码<p v-if="seen">
ok: false
}
})
2.列表渲染
我们用 v-for
指令根据一组数组的选项列表进行渲染。v-for
指令需要使用 todo in todos
形式的特殊语法,todos
是源数据数组并且 todo
是数组元素迭代的别名。
<div id="app-4">
<ol>
<li v-for="todo in todos">//循环li
{{ todo.text }}
</li>
</ol>
</div>
var app4 = new Vue({
el: '#app-4',
data: {
todos: [
{ text: '学习 JavaScript' },
{ text: '学习 Vue' },
{ text: '整个牛项目' }
]
}
})
3.处理用户输入
为了让用户和你的应用进行交互,我们可以用 v-on
指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法:
<div id="app-5">
<p>{{ message }}</p>
<button v-on:click="reverseMessage">逆转消息</button>
</div>
var app5 = new Vue({
el: '#app-5',
data: {
message: 'Hello Vue.js!'
},
methods: {
reverseMessage: function () {
this.message = this.message.split('').reverse().join('')
}
}
})
注意在 reverseMessage
方法中,我们更新了应用的状态,但没有触碰 DOM——所有的 DOM 操作都由 Vue 来处理,你编写的代码只需要关注逻辑层面即可。
网友评论