声明式渲染
vue的引入<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
初步使用vue
<div id="app">
{{message}}
</div>
<script>
var app=new Vue({
el: '#app',
data:{
message:"hello vue"
}
})
</script>
错误笔记:1.new Vue中的V忘记大写,2.el的#app忘了加引号以及忘了在末尾加逗号
v-bind
指令
<div id="app">
<span v-bind:title="message">
鼠标悬停几秒钟查看此处动态绑定的提示信息!
</span>
</div>
<script>
var app2=new Vue({
el: '#app',
data:{
message: 'v-bind特性被称为指令。指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性。'
}
})
</script>
v-bind
特性被称为指令。指令带有前缀 v-
,以表示它们是 Vue 提供的特殊特性。在这里,该指令的意思是:“将这个元素节点的 title
特性和 Vue 实例的 message
属性保持一致”。
条件与循环
v-if
<div id="app">
<p v-if="seen">seen为false时就会消失</p>
</div>
<script>
var app2=new Vue({
el: '#app',
data:{
seen: true
}
})
</script>
v-for
<div id="app">
<p v-for="todo in todos">{{todo.text}}</p>
</div>
<script>
var app2=new Vue({
el: '#app',
data:{
todos:[
{text:'学习JavaScript'},
{text:'学习Vue'},
{text:'整个牛项目'}
]
}
})
</script>
“{{}}”中就是想要显示Vue实例中属性提供的内容
处理用户输入
为了让用户和你的应用进行交互,我们可以用 v-on
指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法:v-on
<div id="app">
<p>{{message}}</p>
<button v-on:click="reverseMessage">反转字符串</button>
</div>
<script>
var app2=new Vue({
el: '#app',
data:{
message:'hello v-on'
},
methods:{
reverseMessage:function(){
this.message=this.message.split('').reverse().join('')
}
}
})
</script>
Vue 还提供了 v-model
指令,它能轻松实现表单输入和应用状态之间的双向绑定。v-model
<div id="app">
<p>{{message}}</p>
<input v-model="message">
</div>
<script>
var app2=new Vue({
el: '#app',
data:{
message:'hello v-model'
}
})
</script>
当修改input
中的内容时,标签p
中的message在页面上显示的文字也跟着改变。