Vue入门篇_1
来源:互联网 发布:淘宝双11业绩查询 编辑:程序博客网 时间:2024/06/11 20:51
<!DOCTYPE html><html xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"><head> <meta charset="utf-8"> <title>Vue learing</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> <style> .changeColor{ background: #444; color: #eee; } </style></head><body><div id="app"> <p>{{ message }}</p> <!-- 使用v-html指令生成html代码--> <div v-html="code"></div> <!-- 使用v-bind指令生成html代码 结合v-model使用 v-bind响应式更新html--> <label for="r1">修改颜色</label> <input type="checkbox" v-model="changeColor" id="r1"/> <br><br> <div v-bind:class="{'changeColor':changeColor}"> 颜色已经改变... ... v-bind:class </div> <br><br> <!-- 表达式 在html中可以直接写表达式 --> {{ 5+5 }} <br> {{ ok ? 'YES' : 'NO' }} <br> {{ dataval.split('').reverse().join('') }} <div v-bind:id="'list-'+id">菜鸟教程</div> <br><br> <!-- 使用v-前缀指令 v-if 设置元素是否插入到dom中 --> <p v-if="pFlag">Now , you can see me</p> <template v-if="descFlag"> <h1> This is the first line</h1> <p> This is the second line</p> <p> We learn for dream , instead of money</p> </template> <br><br> <!-- 使用v-bind指令 响应更新html --> <a v-bind:href="url">点击链接</a> <br><br> <!-- 使用v-on指令 监听dom事件--> <!--<button v-on:click="clickBtn">按钮</button>--> <!-- 指令缩写形式 --> <button @click="clickBtn">按钮</button> <br><br> <!-- 使用v-model 实现双向数据绑定 个人理解:为dom元素初始化赋值,当改变dom元素的input值时,与之关联的元素也会更新--> <template> <input type="text" v-model="inputval"/> <p>反转字符串:{{ reverseInputval }}</p> </template> <br><br> <!-- 管道 --> {{ dataReal | capitalize }} <br><br> <!-- 条件判断语句 v-if --> <template> <div v-if="type === 'A'"> Yeah , now you can see the A situation </div> <div v-else-if="type === 'B'"> And now you can see the B situation </div> <div v-else-if="type === 'C'"> situation : C </div> <div v-else="type === D"> all right Not in A/B/C </div> </template> <br><br> <!-- 使用v-show指令 注意:v-show 不支持templete语法 --> <div v-show="test"> obviously , it's about showing or not </div> <br><br> <!-- 使用v-for指令循环array --> <template> <p>Here are some new thchnologies that you didn't konw before</p> <ol> <li v-for="data in list"> {{ data.name }} <small>{{ data.author }}</small> </li> </ol> </template> <br><br> <!-- 使用v-for 循环 object 需要注意:循环键值对第一个表示value 第二个表示key 是反序的--> <template> <h3>Use v-for command for ergodic object</h3> <ul> <li v-for="(value,key,index) in obj"> {{index+1}} : {{ key }} :{{ value }} </li> </ul> </template> <br><br> <!-- computed set & get--> <p>{{ aUrl }}</p></div><script> var vm = new Vue({ el: '#app', <!-- 数据展现&处理--> data: { message: 'Hello Vue.js!', code:'<h1>This is my first page!</h1>', changeColor:false, ok:false, dataval:'数据展现... ...', id:1, pFlag:true, descFlag:false, url:'www.baidu.com',// clickBtn:function () {// console.log("you click me , so i'll response for you ");// }, inputval:"show the inital value", dataReal:'filter test ... ...', type:'D', test:true, list:[ {name:'storm',author:'royarn1'}, {name:'spark',author:'royarn2'}, {name:'kafka',author:'royarn3'} ], obj:{ name:'royarn', sex:'男', blog:'http://write.blog.csdn.net/postlist' } }, <!-- 过滤器 --> filters:{ capitalize:function (value) { if(!value) return '' value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) } }, <!-- 事件处理--> methods:{ clickBtn:function () { console.log("you click me , so i'll response for you "); } }, <!-- 计算属性--> <!--computed vs methods 使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,--> <!--只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。--> <!--使用 computed 性能会更好,但是如果不希望缓存,使用 methods 属性--> computed:{ <!--计算属性的getter--> reverseInputval:function () { return this.inputval.split('').reverse().join(''); }, aUrl:{ <!-- get --> get:function () { return this.name + ',' +this.urlreal; }, <!-- set --> set:function (obj) { var names = obj.split(":"); this.name = names[0]; this.urlreal = names[names.length-1]; } } } }); vm.aUrl = "网址:www.baidu.com"; console.log(vm); document.write("网站:" + vm.name); document.write("<br><br>"); document.write("地址:" + vm.urlreal);</script></body></html>
阅读全文
0 0
- Vue入门篇_1
- Vue入门篇_2
- ARM入门文章_1
- ARM入门文章_1
- 数据结构入门_1
- 驱动入门_1
- Servlet入门笔记_1
- HIVE入门_1
- SparkSQL入门_1
- python入门笔记_1
- MyBatis快速入门_1
- Graphql入门_1
- Smarty快速入门_1
- C#编程入门_1
- Linux入门_1
- 从零开始入门密码学_1
- Vue.js入门第二篇
- Vue.js入门第三篇
- IEEE802.11协议基础知识
- spring的bean管理之bean实例化三种方式
- 2017最新Android发布开源项目到jcenter
- (OK) Android-x86-7.1.1/ kernel 4.4.62/ MPTCP-0.92/ quagga/ospf6d/ MIMP
- 机器学习入门指导
- Vue入门篇_1
- ffmpeg 函数简单分析 : av_read_frame()
- QT 忽略警告 解决办法
- JVM内存状况查看方法和分析工具
- 原型链的结构(深入理解原型继承)和举例
- 《Ios Human Interface Guidelines》--Authentication
- 解决 Errors running builder 'DeploymentBuilder' on project '
- js获取iPhone 微信, qq ,uc, 的页面屏幕的高度
- Vue入门篇_2