ch1-vuejs基础入门(hw v-bind v-if v-for v-on v-model 应用组件简介 小案例)
1 hello world
引入vue.min.js 代码: ----2.0+版本
<div id="test">
{{str}}
</div>
<script>
var app = new Vue({
el: '#test',
data: {
str: 'hello world vuejs'
}
});
</script>
2 v-bind 指令(v-)
v-bind:title='str'
绑定到title,title显示的时候就会触发 3 条件与循环
条件 v-if="表达式的结果" 结果为真显示否则隐藏
循环 v-for 同for() 数据源为data的值 4 事件监听 v-on 代码展示
<div id="test5">
<p>{{str}}</p>
<button v-on:click="reverseStr">逆转显示</button>
</div> var app5 = new Vue({
el: '#test5',
data: {
str: 'hello world Vue.js'
},
methods: {
reverseStr: function () {
this.str = this.str.split('').reverse().join('');
}
}
});
5 v-model 使表单输入和应用状态间双向绑定 同ng-model
<div id="test6">
<p>{{str}}</p>
<input type="text" v-model="str">
</div>
var app6 = new Vue({
el: '#test6',
data: {
str: '两只老虎跑得快'
}
});
6 vue.js内置的指令
v-if 条件渲染指令
v-show 条件渲染指令 指令的元素始终会被渲染到html,这是简单的为元素设置style属性
v-else
可以为v-if或v-show添加一个'else块',必须跟在其后面
v-else的元素是否显示取决于前面是v-if还是v-show v-if为true v-else不会渲染到dom v-show为true或false v-else都不会渲染到html
v-for 遍历数组 xx in xx
v-bind 语法:v-bind:argument='expression'
argument表示html元素的特性如(attribute) 或 v-bind:class 可以高亮当前页 可缩写为:一个冒号
v-on 语法与v-bind类似 监听dom事件
调用方法:1 绑定一个方法名(让事件指向方法的引用)2 使用内联语句(执行方法) 可缩写为:@符号
指令补充
指令(Directives)是带有 v- 前缀的特殊属性。指令属性的值预期是单一 JavaScript 表达式(除了 v-for,之后再讨论)。
指令的职责就是当其表达式的值改变时相应地将某些行为应用到 DOM 上。让我们回顾一下在介绍里的例子:
|
<p v-if="seen">Now you see me</p>
|
这里, v-if 指令将根据表达式 seen 的值的真假来移除/插入 <p> 元素。
7 应用组件化 --用小型,自包含和可以复用的组件构建大型应用
<div id="test">
<my-component></my-component>
</div>
<script>
Vue.component('my-component',{
template: '<h1>原来是个h1</h1>'
});
var app = new Vue({
el: '#test',
})
</script> <div id="test">
<my-component v-for="item in groceryList" :todo="item"></my-component>
</div>
<script>
Vue.component('my-component',{
//组件现在接收一个 'prop'类属于一个自定义属性属性名为todo
props: ['todo'],
template: '<h2>{{todo.text}}</h2>'
});
var app = new Vue({
el: '#test',
data: {
groceryList: [
{ text: '蔬菜' },
{ text: '奶酪' },
{ text: '随便其他什么人吃的东西' }
]
}
})
</script>
8 小案例---由于 $index 问题 案例使用 ---vue.js 1.0.5
<div id="app">
<fieldset>
<legend>
添加新用户
</legend>
<div class="form-group">
<label>姓名:</label>
<input type="text" v-model="newPerson.name"/>
</div>
<div class="form-group">
<label>年龄:</label>
<input type="text" v-model="newPerson.age"/>
</div>
<div class="form-group">
<label>性别:</label>
<select v-model="newPerson.sex">
<option value="男" selected = "selected">男</option>
<option value="女">女</option>
</select>
</div>
<div class="form-group">
<label></label>
<button @click="createPerson">添加</button>
</div>
</fieldset>
<table class="table table-bordered">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>删除</th>
</tr>
</thead>
<tbody>
<tr v-for="person in people">
<td>{{ person.name }}</td>
<td>{{ person.age }}</td>
<td>{{ person.sex }}</td>
<td :class="'text-center'"><button @click="deletePerson($index)">删除</button></td>
</tr>
</tbody>
</table>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
newPerson: {
name: '',
age: 0,
sex: '男'
},
people: [{
name: '张三',
age: 30,
sex: '男'
}, {
name: '李四',
age: 26,
sex: '男'
}, {
name: '王五',
age: 22,
sex: '女'
}, {
name: '赵六',
age: 36,
sex: '男'
}]
},
methods: {
createPerson: function () {
this.people.push(this.newPerson);
//添加完newPerson对象后,重置newPerson对象
this.newPerson = {name:'',age:'',sex:'男'}
},
deletePerson: function (index) { //实参$index在2.0+版本无此功能
this.people.splice(index,1);
}
}
})
</script>
ch1-vuejs基础入门(hw v-bind v-if v-for v-on v-model 应用组件简介 小案例)的更多相关文章
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_03-vuejs研究-vuejs基础-入门程序
本次测试我们在门户目录中创建一个html页面进行测试,正式的页面管理前端程序会单独创建工程. 在门户目录中创建vuetest目录,并且在目录下创建vue_01.html文件 <!DOCTYPE ...
- MacOS下VUEJS简单入门
微信搜索"艺术行者",关注并回复关键词"vue"获取课程资料 上传的在线学习视频(黑马和传智双元,感谢) VueJs概述与快速入门 学习之前假设你已了解关于 H ...
- JavaScript基础入门05
目录 JavaScript 基础入门05 严格模式 严格模式的设计目的 如何开启使用严格模式 显式报错 字符串 字符串的创建 字符串实例方法之常用API JavaScript 基础入门05 严格模式 ...
- docker容器技术基础入门
目录 docker容器技术基础入门 容器(Container) 传统虚拟化与容器的区别 Linux容器技术 Linux Namespaces CGroups LXC docker基本概念 docker ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)
[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.c ...
- Mongoose基础入门
前面的话 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具.本文将详细介绍如何使用Mongoose来操作MongoDB NodeJS驱动 在介绍Mongoose之 ...
随机推荐
- Kafka Streams 剖析
1.概述 Kafka Streams 是一个用来处理流式数据的库,属于Java类库,它并不是一个流处理框架,和Storm,Spark Streaming这类流处理框架是明显不一样的.那这样一个库是做什 ...
- my new day in CNblog
感谢大家 今天正式在博客园平台开启我的第三个技术面博客 之前一直坚持在csdn平台撰文(http://blog.csdn.net/github_38885296)欢迎参观:) 因为觉得博客园知名度虽不 ...
- 结对编程1-四则运算GUI实现(58、59)
题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一 ...
- Sudoku Generator
Sudoku 算法 标签(空格分隔): 软工实践 设想:通过第一行,来生成2, 3行的排列,再通过1 - 3 生成4 - 6排列. 2 3 行的生成由上一行生成 公式为$grid[i][j] = gr ...
- 201521123115《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123109《java程序设计》第四周学习总结
1. 本周学习总结 #1.1 尝试使用思维导图总结有关继承的知识点. #1.2 使用常规方法总结其他上课内容. - 了解了有关类的继承的知识 - 了解继承和多态的关系以及一些关键字内容 - 学习了O ...
- 201521123108《Java程序设计》第1周学习总结
本周学习总结 刚加入java的学习,我感觉很困难.但我觉得学习并不是一蹴而就.只要我多读,多看,多练,一定会取得进步.有空的时候把书本上的代码敲一敲.相信会有回报. 2.书面作业 1.为什么java程 ...
- Scrapy爬虫框架解析
Scrapy框架解析 Scrapy框架大致包括以下几个组件:Scrapy Engine.Spiders.Scheduler.Item Pipeline.Downloader: 组件 Scrapy En ...
- 如何实现Sublime Text3中vue文件高亮显示的最有效的方法
今天第一次使用Sublime Text3软件,在实现vue文件高亮显示的过程中一直报错,经过了半天时间的不停尝试终于找到了最有效的一种解决方法!错误提示如下: 刚开始尝试了很多方法都不行,只要打开in ...
- java通过JDBC链接SQLServer2012【转载!!!超详细】
http://blog.csdn.net/stewen_001/article/details/19553173/