vue框架2
插值语法
mvvm演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
姓名:{{name}}
<br>
<input type="text" v-model="name">
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
name: 'hanser',
age:22
}
})
</script>
</html>
插值语法
# 插值语法中可以放的有:
- 变量,对象取值,数组取值
- 简单的js语法
- 函数()
# 插值只能写在标签内部,不能写在标签属性上
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
<p>姓名:{{name}}</p>
<p>年龄:{{age}}</p>
<p>爱好:{{hobby[1]}}</p>
<p>妻子:{{wife}}</p>
<p>妻子年龄:{{wife.age}}</p>
<!--<p>运算:{{20+2*4}}</p>-->
<p>三目运算符:{{20>21?'大于':'小于'}}</p>
<p>标签:{{a_url}}</p> </div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
name: 'hanser',
age:22,
hobby:['唱跳','rap','篮球'],
wife:{name:'刘亦菲',age:38},
a_url:'<a href={"http://www.baidu.com"}>百度</a>',
// 三目运算符
}
})
</script>
</html>
文本指令
# 指令系统:vue提供的
-v-xx 写在标签上,任意标签
-v-xx="" 插值语法中可以写的,它都能写
# 例:a_url必须是data中定义的变量
<p v-text="a_url"></p>
# v-text <!--直接把字符串内容渲染在标签内部,等同于-->
<p v-text="a_url"></p>
# v-html <!--把字符串的内容渲染成标签,写在标签内部-->
<p v-html="a_url"></p>
# v-show <!--控制样式显示与否,等于布尔值,代表该元素是否显示-->
<p v-show></p>
# v-show_if <!--在DOM中删除整个标签,等于布尔值,代表该元素是否被删除--> # 代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
<p v-text="a_url"></p>
<p v-html="a_url"></p>
<p v-show></p> <!--控制样式显示与否,等于布尔值,代表该元素是否显示-->
<img src="https://img2.woyaogexing.com/2023/02/10/f426aeefcf78b0f6e88bba4e67437409.jpeg" alt=""
v-show="show" width="200px" height="200px">
<p>v-if</p>
<img src="https://img2.woyaogexing.com/2023/02/10/f426aeefcf78b0f6e88bba4e67437409.jpeg" alt=""
v-show_if="show" width="200px" height="200px">
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
a_url:'<a href="http://www.baidu.com">百度</a>',
show:true,
show_if:true
}
})
</script>
</html>
属性指令
# 标签上的属性可以绑定变量,属性值会随着变量变化
例如:有src,href,class等 # 语法:
v-bind:属性名="变量名" # 简写:
:属性名="变量名"
事件指令
# 事件指令
- 点击事件(使用最多的)
- 双击事件
- 滑动事件 # 点击事件
1. v-on:事件名='函数'--->简写--->@事件名='函数' <button v-on:click="handleClick"></button>
2. 函数必须写在methods的配置项中
methods:{
'handleClick':function (){
console.log(this)
this.show=!this.show
}}
3. 上面的this是当前vue的实例
4. 点击button就会触发绑定函数(handleClick)的执行 # 代码示例:写一个点击按钮,随机切换,美女图片
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
<button @click="handleClick">点击看美女</button>
<div>
<img :src="url" alt="" width="600px" height="600px">
</div>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
url:'https://pic1.zhimg.com/v2-cd7bc16e977b162d9092899ad106db73_r.jpg',
url_list:['https://n.sinaimg.cn/sinakd20201010s/292/w640h1252/20201010/ccf8-kakmcxc4806009.jpg',
'https://n.sinaimg.cn/sinacn20118/214/w2048h1366/20190111/3f99-hrpcmqv4220798.jpg',
'https://pic4.zhimg.com/v2-0b676d3c16993f59466eca32858b4454_r.jpg',
'https://t1.huanqiucdn.cn/7ef5e4ba546f17923ff99f22a46ad0b2.jpg',
'https://pic2.zhimg.com/v2-cfabe13dfca655355e93068d3ce2fcbe_r.jpg'
],
},
methods:{
handleClick() {
var _this = this
setInterval(function () {
console.log(_this)
var i = Math.round(Math.random() * (_this.url_list.length - 1))
_this.url = _this.url_list[i]
console.log(i)
},1000)
}
}
})
</script>
</html>
class和style
# 两者都是属性指令,应用广泛 # class:推荐用数组
:class='变量' # style:推荐用对象
:style='变量'
变量可以是字符串,数组,对象
# 数组的方发...移除pop(自行百度) # 代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
<style>
.font {
font-size:60px;
}
.red {
background-color: red; }
.green {
background-color: green;
}
font-color{
color: yellow;
}
</style>
</head>
<body>
<div id="app">
<h1>class</h1>
<!-- <div :class="class_str">div</div>-->
<!-- <div :class="class_list">div</div>-->
<div :class="class_obj">div</div>
<h2>style</h2>
<!-- <div :style="style_str">style</div>-->
<!-- <div :style="style_list">style</div>-->
<div :style="style_obj">style</div>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
// class_str:'font red font-color',
// class_list:['font'], // 推荐
class_obj: {font: true, green: false}
style_str: 'color: green;font-size:80px',
// style_list: [{color:'yellow'}, {'font-size':'90px'}],
style_list: [{color: 'yellow'}, {fontSize: '90px'}], // 可以用驼峰
style_obj: {color: 'yellow', fontSize: '80px'}
// style_obj: {color: 'yellow', 'font-size': '80px'} },
})
条件渲染
# v-if=成立 放在标签上
放在标签上,条件成立标签显示,否则不显示
# v-else-if=条件
放在标签上,条件成立标签显示,否则不显示
# v-else
放在标签上,上面条件都不成立,显示这个标签 # 代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
<h1>通过分数显示文字</h1>
<div v-if="score>=90">优秀</div>
<div v-else-if="score>=80&&score<90">良好</div>
<div v-else-if="score>=60&&score<80">及格</div>
<div v-else>不及格</div>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
score:99
},
}) </script>
</html>
列表渲染
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"
integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
<div id="app">
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="text-center">
<h1>v-if+v-for 显示购物车</h1>
<button @click="handleClick">点击显示商品</button>
<div v-if="show">
<table class="table table-hover">
<thead>
<tr>
<th>id</th>
<th>商品名</th>
<th>商品价格</th>
</tr>
</thead>
<tbody>
<tr v-for="item in good_list">
<th scope="row">{{item.id}}</th>
<td>{{item.name}}</td>
<td>{{item.price}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
show:false,
good_list: [
{id:1,name:'宝马',price:'450000'},
{id:2,name:'赛马',price:'1000000'},
{id:3,name:'小马',price:'120000'},
{id:4,name:'老马啊,老马',price:'4500'},
]
},
methods:{
handleClick() {
this.show=!this.show
},
}
}) </script>
</html>
vue框架2的更多相关文章
- Vue框架Element的事件传递broadcast和dispatch方法分析
前言 最近在学习饿了么的Vue前端框架Element,发现其源码中大量使用了$broadcast和$dispatch方法,而Element使用的是Vue2.0版本,众所周知在Vue 1.0升级到2.0 ...
- 使用vue框架运行npm run dev 时报错解决
使用使用vue框架运行npm run dev 时报错 如下: 原因: localhost:8080 有可能其他软件占用了,导致其他问题的出现 我们可以动态修改地址 解决: 进入项目文件的config文 ...
- Vue框架下的node.js安装教程
Vue框架下的node.js安装教程 python服务器.php ->aphche.java ->tomcat. iis -->它是一个可以运行JAVASCRIPTR 的运行环 ...
- Vue框架axios请求(类似于ajax请求)
Vue框架axios get请求(类似于ajax请求) 首先介绍下,这个axios请求最明显的地方,通过这个请求进行提交的时候页面不会刷新 <!DOCTYPE html> <html ...
- Vue框架之双向绑定事件
Vue框架之双向绑定事件 首先介绍下Vue框架的语法 vue通过 {{temp}} 来渲染变量 {{count+100}} # 求和 v-text # 为标签插入text文本 v-html # 为标签 ...
- Vue框架
Vue框架 环境: windows python3.6.2 Vue的cdn: <script src="https://cdn.jsdelivr.net/npm/vue"&g ...
- vue框架入门和ES6介绍
vue框架入门和ES6介绍 vue-mvvm模式,vue是一种轻量级的前端框架,主要为模板渲染,数据同步,组件化,模块化,路由等. https://cn.vuejs.org/ 源码:https://g ...
- 基于VUE框架 与 其他框架间的基本对比
基于VUE框架的基本描述 与 其他框架间的基本对比 2018-11-03 11:01:14 A B React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供 ...
- VUE框架的初识
VUE框架的初识 初步了解Vue.js框架(渐进式前端框架) Vue.js是一种轻量级的前端MVVM框架.同时吸收了React(组件化)和Angular(灵活指令页面操作)的优点.是一套构建用户界面的 ...
- vue框架中的日期组件转换为yyy-mm-dd格式
最近在用vue框架写一个app,这个是用到的日期格式转换,把下面的标准格式转换为字符串连接格式
随机推荐
- Django(2) - Django模板
1.Django模板介绍 基础概念 模板是具有一定的格式或骨架,可以动态的生成HTML 模板引擎决定以何种方式组织代码 一个项目可以有一个或者是多个模板引擎,Django里面主要两个模板引擎:DTL. ...
- RedisTemplate设置redis的key时出现\xac\xed\x00\x05t\x00\x0f前缀
1.问题描述 使用redisTemplate设置redis的key-value,程序运行没有问题,但是却在redis客户端查不到设置的key-value. 2.产生原因 出现这种乱码前缀的原因是没有进 ...
- [编程基础] C++多线程入门8-从线程返回值
原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 8 从线程返回值 8 ...
- CSP-S2022 游记
Day 998244350 模拟赛场场被学弟吊打.最后几天写了一堆随机化乱搞题以及奇怪的搜索,都是 CSP 不曾考的玩意(书接下文). 点分治已经敲烂了.最后两场每场一个. Day 499122175 ...
- 阿里云Imagine Computing创新技术大赛决赛启幕!
2023年1月,由阿里云与英特尔主办,阿里云天池平台.边缘云.视频云共同承办的"新算力 新体验"Imagine Computing创新技术大赛复赛圆满落幕.经过两个多月的激烈角逐, ...
- [WPF]限制程序单例运行
代码 System.Threading.Mutex mutex; protected override void OnStartup(StartupEventArgs e) { bool ret; m ...
- angular11报错Can't bind to 'ngForOf' since it isn't a known property of 'tr'. 三种排查办法以及解决方案
当你遇到Can't bind to 'ngForOf' since it isn't a known property of 'tr'. (" //无法绑定到"ngforof&qu ...
- 踩坑实录---Angular防抖——点击事件
npx ng g directive DebounceClickDirective --module=app 然后自动生成了2 个文件 CREATE src/app/debounce-click-di ...
- iterator_traits技法
问题 在 C++ 泛型编程中,如何知道"迭代器所指对象的类型",以便声明临时变量呢?我们把迭代器所指对象的类型称为value type. template <class It ...
- Task记录1.CancellationToken 取消Task任务的操作
//1.创建取消令牌数据 CancellationTokenSource tokenSource = new CancellationTokenSource(); //2.创建取消令牌 Cancell ...