vue的指令
我之前学了学angular
发现angular和vue的指令有点类似
先说一下
首先是
v-model双向绑定数据
- <div id="box">
- <ul>
- <!--ng-repeat-->
- <li v-for="item in arr">
- <span>{{item.name}}</span>
- <span>{{item.age}}</span>
- </li>
- </ul>
- </div>
- <script type="text/javascript">
- new Vue({
- el:'#box',
- data(){
- return{
- // arr:['module','views','controlle','aaaaa']
- arr:[
- {"name":"xiaohong1","age":12},
- {"name":"xiaohong2","age":12},
- {"name":"xiaohong3","age":12},
- {"name":"xiaohong4","age":12}
- ]
- }
- }
- })
- </script>
- <div id="box">
- <div style="width: 100px;height: 100px;background: black;display: none" v-show="show"></div>
- </div>
- </body>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- show: true
- }
- }
- })
- </script>
v-if显示与隐藏 (dom元素的删除添加 个人理解)
- <div id="box">
- <div style="width: 100px;height: 100px;background: black;" v-if="show"></div>
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- show: true
- }
- }
- })
- </script>
v-else
- <div id="box">
- <div style="width: 100px;height: 100px;background: black;" v-if="show"></div>
- <div style="width: 300px;height: 300px;background: blue" v-else=""></div>
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- show: true
- }
- }
- })
- </script>
v-else-if
- <div id="box">
- <div style="width: 100px;height: 100px;background: black;" v-if="show"></div>
- <div style="width: 100px;height: 100px;background: aqua;" v-else-if=""></div>
- <div style="width: 300px;height: 300px;background: blue" v-else=""></div>
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- show: true
- }
- }
- })
- </script>
v-bind
- <div id="box">
- <input type="text" v-bind:value="msg">
- <a :href="link">点击</a>
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- msg: "12222",
- link:"1、v-model.html"
- }
- }
- })
- </script>
v-on 事件
- <div id="box">
- <!-- v-on -->
- <button v-on:click="say">按钮</button>
- <!--<button @click="say">按钮</button>-->
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {}
- },
- methods: {
- say() {
- alert(111);
- }
- }
- })
- </script>
v-text读取文本不能读取html标签
- <div id="box">
- <div v-text="msg"></div>
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- msg:"11111"
- }
- },
- methods: {
- say() {
- alert(111);
- }
- }
- })
- </script>
v-html 能读取html标签
- <div id="box">
- <div v-html="msg"></div>
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- msg:"<h1>121212</h1>"
- }
- },
- methods: {
- say() {
- }
- }
- })
- </script>
v-class 类名
- <style>
- .red {
- background: red;
- }
- .blue {
- width: 100px;
- height: 100px;
- background: blue;
- }
- </style>
- <div id="box">
- <div style="width: 100px;height: 100px;" v-bind:class='{red:isred}'></div>
- <!--<div style="width: 100px;height: 100px;" v-bind:class='isred?"red":"blue"'></div>--> <!--三元运算符方式-->
- <!--<div style="width: 100px;height: 100px;" v-bind:class='[{red:"isred"}]'></div>-->
- </div>
- <script>
- new Vue({
- el: "#box",
- data(){
- return {
- isred:false
- }
- }
- })
- </script>
v-style 与v-class用法大致一样 这个我就不写了
v-once 与我下边的例子 就是 加载一次 如果用到事件中就是事件只执行一次(@click.once="show")
- <div id="box">
- <div v-once>{{msg}}</div>
- </div>
- <script type="text/javascript">
- new Vue({
- el:"#box",
- data(){
- return{
- msg:"qwdqwdqwd"
- }
- }
- })
- </script>
v-cloak防闪烁
- <div id="box">
- <div v-cloak="">欢迎--{{msg}}</div>
- </div>
- <script>
- new Vue({
- el:"#box",
- data(){
- return{
- msg:"111111"
- }
- }
- })
- </script>
v-pre 把标签内部的元素原位输出
- <div id="box">
- <div v-pre>欢迎--{{msg}}</div>
- </div>
- <script>
- new Vue({
- el:"#box",
- data(){
- return{
- msg:"111111"
- }
- }
- })
- </script>
接下来就是一个总结了
- vue 是什么
- 简介型的javascript框架 个人开发 (刘雨溪)
- 特点:mvvm m=mvc module 模型 v=view 视图 c=controller 控制器
- mvvm m=mvc module 模型 v=view 视图 vm (视图与数据之间的传递)
- vue1 双向数据绑定 vue2 单向数据流
- 单页面应用
- v-model 数据绑定
- data 返回对象用 return
- v-for 循环 格式 v-for="字段名 in(of) 数组json"
- v-show 显示 隐藏 传递的值为布尔值 true false 默认为false
- v-if 显示与隐藏 和v-show对比的区别 就是是否删除dom节点 默认值为false
- v-else-if 必须和v-if连用
- v-else 必须和v-if连用 不能单独使用 否则报错 模板编译错误
- v-bind 动态绑定 作用: 及时对页面的数据进行更改
- v-on 绑定事件 函数必须写在methods里面
- @click 快捷方法
- v-text 解析文本
- v-html 解析html标签
- v-bind:class 三种绑定方法 1、对象型 '{red:isred}' 2、三目型 'isred?"red":"blue"' 3、数组型 '[{red:"isred"},{blue:"isblue"}]'
- v-once 进入页面时 只渲染一次 不在进行渲染
- v-cloak 防止闪烁
- v-pre 把标签内部的元素原位输出
vue的指令的更多相关文章
- vue自定义指令
Vue自定义指令: Vue.directive('myDr', function (el, binding) { el.onclick =function(){ binding.value(); } ...
- vue 自定义指令的使用案例
参考资料: 1. vue 自定义指令: 2. vue 自定义指令实现 v-loading: v-loading,是 element-ui 组件库中的一个用于数据加载过程中的过渡动画指令,项目中也很少需 ...
- vue自定义指令用法总结及案例
1.vue中的指令有哪些?
- vue之指令
一.什么是VUE? 它是构建用户界面的JavaScript框架(让它自动生成js,css,html等) 二.怎么使用VUE? 1.引入vue.js 2.展示HTML <div id=" ...
- vue自定义指令(Directive中的clickoutside.js)的理解
阅读目录 vue自定义指令clickoutside.js的理解 回到顶部 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: vue自定义指令 一般在需要 DOM 操 ...
- Vue自定义指令报错:Failed to resolve directive: xxx
Vue自定义指令报错 Failed to resolve directive: modle 这个报错有2个原因: 1.指令单词拼错 2.Vue.directive() 这个方法没有写在 new Vue ...
- vue之指令篇 ps简单的对比angular
这两天在开始vue的大型项目,发现和ng还是有许多不同,这里对比下两者的指令系统 难度系数:ng的指令难度大于vue:至少vue上暂时没发现@&=:require,compile,precom ...
- 第3章-Vue.js 指令扩展 和 todoList练习
一.学习目标 了解Vue.js指令的实现原理 理解v-model指令的高级用法 能够使用Vue.js 指令完成 todoList 练习(重点+难点) 二.todoList练习效果展示 2.1.效果图展 ...
- 第2章-Vue.js指令
一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本 ...
随机推荐
- 输入一段字符串,统计其中的数字,字母,空格,其他字符的方法 ----python---
1.以简单的循环分支实现字符统计 str1 = input("输入字符串:") num=0;word=0;space=0;other=0; for i in str1: if i. ...
- spring @Autowired与@Resource的区别
1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...
- TOMCAT程序的层级目录
web | |---------js,jsp,html,css(资源文件在web根目录下面 可以被浏览器直接访问) |---------WEB-INF(配置文件web.xml lib---jar ...
- 树的遍历——c#实现
树作为一种重要的非线性数据结构,以分支关系定义其层次结构,在客观世界中应用广泛.通过对树遍历,将树进行线性化处理,即遍历的结果是将非线性结构的树种节点排列成一个线性序列.其中,最常见的遍历方式包括先序 ...
- flask接收post提交的json数据并保存至数据库
定义数据模型 # 定义数据模型class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(d ...
- JSP数据库插入判断
- xmlhttp js 请求
<html> <script> var xhr = new XMLHttpRequest(); xhr.open('GET', "http://ipinfo.io/j ...
- mysql执行计划id为空—UNION关键字
简介 UNION 操作符用于合并两个或多个 SELECT 语句的结果集.例如,我有两个表,表1记录的是公司男员工的数据,包括年龄.姓名.职位.表2记录的是公司女员工的数据,包括姓名.家庭住址.手机号等 ...
- 在centos7 部署bbr
How to Deploy Google BBR on CentOS 7 Published on: Thu, Jan 5, 2017 at 6:34 pm EST CentOS Linux Guid ...
- 超简单的全新win10安装
1.准备工作! 这里说一下需要装系统的东西: 至少8G的U盘或内存卡 一台Windows电脑 在要安装的电脑上至少有16G的空间,最好至少64G. 2.现成电脑下载文件(已经有重装系统U盘跳过这一步) ...