Vue item_01 基础示例简介
所有内容代码驱动,注释作了必要说明。来于官网,出自己实践。<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport&quo
·
所有内容代码驱动,注释作了必要说明。来于官网,出自己实践。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue 之简介</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
{{-- 示例一 --}}
<div id="app" >
声明式渲染:
@{{ message }}
</div>
<div id="app-2">
动态绑定属性<br>
指令:将这个元素节点的 title 特性和 Vue 实例的 message 属性保持一致<br>
<span v-bind:title="message">
鼠标悬停几秒钟查看此处动态绑定的提示信息!
</span>
</div>
<div id="app-3">
<p v-if="seen">现在你看到我了</p>
</div>
<div id="app-4">
<p>循环 避免与blade模板变量冲空,使用了@符</p>
<ol>
<li v-for="todo in todos">
@{{ todo.text }}
</li>
</ol>
</div>
<div id="app-5">
<p>事件绑定 :click为vue实例的事件参数</p>
<p>
@{{ message }}
</p>
<button v-on:click="reverseMessage">逆转消息</button>
</div>
<div id="app-6">
<p>表单绑定</p>
<p>
@{{ message }}
</p>
<input v-model="message">
</div>
<div id="app-7">
<p>子单元通过 prop 接口与父单元进行解耦。</p>
<ol>
<!--
现在我们为每个 todo-item 提供 todo 对象
todo 对象是变量,即其内容可以是动态的。
我们也需要为每个组件提供一个“key”,稍后再
作详细解释。
-->
<todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item>
</ol>
</div>
<script>
// 示例1
var app = new Vue({
el:"#app",
data:{
message:'statement vue!'
}
});
// 示例2
var app2 = new Vue({
el:'#app-2',
data:{
message:'页面加载于'+ new Date().toString()
}
})
// 条件
// 浏览器控制台,使用app3.seen= false;响应体内容不可见
var app3 = new Vue({
el:'#app-3',
data:{
seen:true
}
})
// 循环
var app4 = new Vue({
el:'#app-4',
data:{
todos:[
{ text:'列表 JavaScript' },
{ text:'列表 Vue' },
{ text:'列表牛项目' }
]}
});
// 添加新项目
app4.todos.push({ text: '新项目' })
// 处理用户输入
// 更新了应用状态,但没有触碰Dom,所有的Dom操作由vue来处理
var app5 = new Vue({
el:'#app-5',
data:{
message:'Hello Vue.js',
},
methods:{
reverseMessage:function(){
this.message = this.message.split('').reverse().join('')
}
}
})
// 表单输入和应用状态间的双向绑定
// 实际上是vue实例事件系统 与 Dom渲染相结合
var app6 = new Vue({
el: '#app-6',
data:{
message:'Hello Vue!'
}
})
// 组件化应用构建, 先定义组件后使用
// 在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例。
// 定义名为 todo-item 的新组件
// 关键js中array是引用类型
Vue.component('todo-item',{
props:['todo'],
template:'<li>@{{ todo.text }}</li>'
})
var app7 = new Vue({
el:'#app-7',
data:{
groceryList:[
{ id: 0, text: '蔬菜' },
{ id: 1, text: '奶酪' },
{ id: 2, text: '随便其它什么人吃的东西' }
]
}
})
app7.groceryList.push({id:3,text:'我是pardon'});
</script>
</body>
</html>
更多推荐
已为社区贡献6条内容
所有评论(0)