Vue学习(2)---v-指令和组件
Vue中的指令
Vue中以带有前缀V-的属性被称为指令(带有v表示他们是Vue提供的特殊attribute)
一个v-bind的例子
<div id="app" v-bind:title="message">
texttexttext
</div>
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
message:'helloworld!'
}
})
这其中 v-bind表明将div元素的title属性与message保持一致
v-if v-for
v-if 可以控制一个元素是否显示(当然 v-show也可以 看名字就可以看出)
<div id="app" v-if="seen" v-on:click="handleOnClick">
{{message}}
</div>
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
message:'helloworld!',
seen:true
},
methods:{
handleOnClick:function(){
this.seen=!this.seen;
}
}
})
这里用到了Vue中的v-if来控制元素的显示 v-on进行时间绑定 还有Vue中的methods属性
改变seen的值 即可改变元素的显示(与v-show的区别之后会写)
v-for 用来遍历一个数组来循环渲染项目
<div id="app">
<ul>
<li v-for="item in lists">{{item}}</li>
</ul>
</div>
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
lists:['学编程死路一条','我嬲你妈妈憋类','妙啊~~~']
},
})
</script>
当我们改变lists的内容时 ul标签中内容也会发生改变
v-on 事件绑定
<div id="app">
{{message}}
<button v-on:click="handleOnClick">helloworld</button>
</div>
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
message:'helloworld!',
seen:true
},
methods:{
handleOnClick:function(){
alert("helloworld");
}
}
})
</script>
通过v-on可以绑定各种事件
v-model 双向绑定
v-model 可以实现输入框和数据的双向绑定(一个改变,另一个也发生改变)
<div id="app">
<input v-model="message"></input>
<button v-on:click="handleOnClick">giaogiaogiao</button>
</div>
<script type="text/javascript">
var app=new Vue({
el:'#app',
data:{
message:'helloworld!',
seen:true
},
methods:{
handleOnClick:function(){
this.message="giaogiaogiao"
}
}
})
</script>
点击改变message的值后 input框中的数据也发生了改变
组件化的思想
Vue中很重要的一个思想就是组件化
试着想想 一个网页 可以拆成各个组件 比如 顶部 底部 侧边栏 内容主题
创建组件和使用的方式非常简单
<div id="app">
{{message}}
<new-component></new-component>
</div>
<script type="text/javascript">
Vue.component('newComponent',{
template:'<div>一个组件</div>'
})
var app=new Vue({
el:'#app',
data:{
message:'helloworld!'
}
})
</script>
需要注意的是 Vue中 我们声明组件的方式是驼峰命名 但是html不区分大小写 所以写成标签时要用-来区别
父子组件传值
现在我们已经可以将页面划分成各个组件了
但是子组件(myComponent)是无法使用父组件(app)的值 因此 我们需要一种方式将值传入子组件
v-bind
<div id="app">
{{message}}
<new-component v-bind:value="text"></new-component>
</div>
<script type="text/javascript">
Vue.component('newComponent',{
props:['value'],
template:'<div>{{value}}</div>'
})
var app=new Vue({
el:'#app',
data:{
message:'helloworld!',
text:"Father-value"
}
})
</script>
当我们使用v-bind 传值时候 需要再子组件中添加 props属性去接收这个值
官方文档:我们也需要为每个组件提供一个“key”,稍后再作详细解释
Vue学习(2)---v-指令和组件的更多相关文章
- vue学习04 v-on指令
vue学习04 v-on指令 v-on的作用是为元素绑定事件,比如click单击,dbclick双击 v-on指令可简写为@ 代码测试 <!DOCTYPE html> <html l ...
- vue学习06 v-show指令
目录 vue学习06 v-show指令 v-show指令是:根据真假切换元素的显示状态 原理是修改元素的display,实现显示隐藏 指令后面的内容,最终都会解析为布尔值(true和false) 练习 ...
- vue学习08 v-bind指令
目录 vue学习08 v-bind指令 v-bind指令的作用是为元素绑定属性 完整写法是v-bind:属性名,可简写为:属性名 练习代码为: 运行效果为: vue学习08 v-bind指令 v-bi ...
- vue 学习八 自定义指令
vue指令注册有两种方式 1 全局注册 在main.js中 使用vue.directive Vue.directive('alert_w', { inserted(el,bin,vn) { conso ...
- Vue学习之全局和私有组件小结(七)
一.组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用相应的组件即可. 二.组件和模块: 1.模块化:是从代码逻 ...
- vue学习-day03(动画,组件)
目录: 1.品牌列表-从数据库获取列表 2.品牌列表-完成添加功能 3.品牌列表-完成删除功能 4.品牌列表-全局配置数据接口的根域名 5.品牌列表-全局配置emulateJS ...
- VUE 学习笔记 一 指令
1.声明式渲染 v-bind 特性被称为指令.指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性 <div id='app'> <span v-bind:title=" ...
- vue学习笔记(1)—— 组件化实现todoList
一.环境搭建 1.npm 大型应用时推荐用npm安装,npm能很好的和webpack等模块打包器配合使用.具体安装步骤请参考网上的诸多教程.完成后使用如下命令安装vue. $ npm install ...
- Vue学习计划基础笔记(六) - 组件基础
组件基础 目标: 掌握组件的构建方式 掌握如何复用组件.父子组件如何传值.如何向父组件发送消息 掌握如何通过插槽分发内容 了解解析dom模板时的注意事项 了解动态组件 组件 组件理解起来大概上就和ph ...
随机推荐
- 前端Tips#6 - 在 async iterator 上使用 for-await-of 语法糖
视频讲解 前往原文 前端Tips 专栏#6,点击观看 文字讲解 本期主要是讲解如何使用 for-await-of 语法糖进行异步操作迭代,让组织异步操作的代码更加简洁易读. 1.场景简述 以下代码中的 ...
- js中排序方法
有些代码一两个月都会忘了,有空多做下总结,记录下来,等需要用到的时候可以来翻翻总结的博客.写技术博客,对自己是一种总结,对别人,是一种参考. 1.sort()方法 var ar1=[2,4,6,8,1 ...
- 转:标签中的href如何调用js
在HTML中,<a>标签的href属性用于指定超链接的目标的URL.在所有浏览器中,链接的默认外观是: 未被访问的链接带有下划线而且是蓝色的 已被访问的链接带有下划线而且是紫色的 活动 ...
- C语言实现简单计算器小项目
昨天刚安装上devc++,半夜想着练练C语言吧 于是就看到实验楼有一个计算器的项目 之前做过一次,这次写的主要是思路 首先我们先从原理思考jia,实现简单的计算器就要具备加减乘除这些,看普通的计算器也 ...
- ASP.net MVC 构建layui管理后台(整体效果)
登录页: 首页 模块管理 角色管理,角色分配 用户管理
- 【简说Python WEB】Flask-Moment
目录 [简说Python WEB]Flask-Moment 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6 ...
- .NET Core学习笔记(5)——WebAPI从Server端push消息到Client
标题起得有点厉害,汉字夹杂着E文,不符合教育部公布的“向社会推荐使用的外语词中文译名”规范.不过他管不着我.写本篇的起因,是重构一个现有的WinForms程序,将Server端的部分逻辑从raw so ...
- php 调用curl_init失败
当你在开发微信公众号,微信小程序的时候,往往会遇到困难 进入服务器,输入 tail -f /var/log/apache2/error.log 看看apache2的日志 就因为php 的curl扩展没 ...
- Swift5.2 新特性
Print 函数传参新格式 let param = "参数" print(#"这是一个\#(param) xxxxx"#) 允许在模块中定义和标准库中名称一样的 ...
- 洛谷3834 hdu2665主席树模板,动态查询区间第k小
题目链接:https://www.luogu.com.cn/problem/P3834 对于区间查询第k小的问题,在区间数量达到5e5的时候是难以用朴素数据结构实现的,这时候主席树就应运而生了,主席树 ...