学习地址:<ahref="https: cn.vuejs.="" org="" "="" target="_">https://cn.vuejs.org/
                vue海量案例
                
                 首先引入vue.js;
                
                之后实例化以下vue
                
                var vm = new Vue({
                
                 el: '#app',
                
                data:{
                message:'Hello Word',
                selectIndex: -1,
                
                meg: 'hello vue!',
                
                isShow: 'false',
                
                value:'A',
                
                arr: ['item1', 'item2', 'item3', 'item4'],
                
                obj: { name: 'zhangsan', age: 40 },
                
                str: 'dcwqnfeng',
                classVal:'red'||'red yellow' ||['red', 'yellow']||{red: true,yellow:false,blue: true,green: true}||['red', {yellow: true, green: false}, 'blue'],
                
                styleVal: {
                width: '500px',
                height: '500px',
                "background-color": 'red',
                backgroundImage: 'url(https://cn.vuejs.org/images/logo.png)',
                border: '10px solid #666' }
                },
                
                
                
                methods: {
                testAction: >function(...rest){
                console.log(this.message);
                //rest即所有参数 
                
                console.log('参数:', ...rest);
                },
                itemAction(index){
                
                console.log('点击了',index);
                this.selectIndex = index;
                } }
                }) 
                
                 1.指令:
  
                 给标签添加属性 v-<指令名字>="js表达式"
                 指令会根据标签的不同,添加不同的功能
                (1).v-text:相当于innerTextinnerText
                
                例:v-text="message",v-text="1+2+3+message"
               简写:<span v-text="dd"></span>
               
                v-text="message"相当于{{message}}
                
                (2).v-html 功能相当于innerHtml
                
               <div v-html="meg"></div>
                
                (3).v-if 功能:通过控制标签是否存在在dom中来控制标签的显示
                
                <div class="box" v-if="isShow">box</div> 
                 <div class="box" v-if="value=='A'">box1-A</div>
                 <div class="box" v-else-if="value=='B'">box2-B</div>
                 <div class="box" v-else-if="value=='C'">box3-C</div>
                 <div class="box" v-else>box4-D</div>
                (4). v-for 遍历的指令 数组的遍历:

<li v-for="(value, i) in arr">{{value}}--{{i}}</li>

<li v-for="(value, i) in ['item1', 'item2', 'item3', 'item4']">{{value}}-------{{i}}</li>

                
                  对象的遍历:

<li v-for="(v, k) in obj">{{v}}-----{{k}}</li>

<li v-for="value in obj">{{value}}</li>

                 <li v-for="(v, k) in {}">{{v}}-----{{k}}</li>

字符串的遍历:

<li v-for="item in str">{{item}}</li>

<li v-for="(item, index) in str">{{item}}-----{{index}}</li>

                数字的遍历:

<li v-for="num in 10">

<li v-for="(num, index) in 10">

<li v-for="(num, index) in arr.length"> {{num}}------------{{index}} </li>

      
                 (5).v-on指令:绑定事件。
                
               
                
                 1.以前的所有的事件都可以在vue中实现,写法发生了变化
                 2.方法的配置可以加()方便传参。事件对象需要通过$event传递。也可以不加(),事件对象方法直接获得。
                 例:<button v-on:click="testAction()">按钮</button> 例:<button v-on:click="testAction">按钮3</button> 例:<div @:mousedovm.prevent="testAction($event) @contextmenu.stop.prevent="boxContextmenu"">按钮2</div>
                
                例:<button v-on:click.stop.once="testAction('a', 'b', 'c', $event)">按钮1</button>
                
                .prevent修饰,阻止默认事件/.stop修饰,阻止事件冒泡/.once修饰,事件只执行一次
                (6).v-bind:绑定属性.(属性: src href id name type title alt ....)
                
                例子:<img v-bind:src="path"> 简写:<img :src="path+'?where=super'">
                
                class的绑定属性 例子:<div class="box" :class="classVal"></div>
                
                style的绑定属性 <div style="width: 500px; height: 500px;background-color: red; background-image: url(https://cn.vuejs.org/images/logo.png); border: 10px solid #666"></div>
                
               
                
                <div :style="styleVal"></div>
                (7).bind-class练习 <li v-for="(item, index) in arr" :class="{active: selectIndex==index}" @click="itemAction(index)">{{item}}---{{index}}</li>
                
                (8).v-model 专门绑定表单数据
                
                <p>message:{{message}}</p> <input type="text" v-model="message">
                 
                
                 (9).自定义指令,在使用该指令的实例创建前声明指令:参数1:指令名字; 参数2:指令的实现函数
                
                    Vue.directive('hello', (el, info)=>{
                 
                
                        // el: 指令所作用的元素
                        // info:指令相关的信息
                        console.log('hello指令调用了');
                        console.log(el, info);
                        el.innerHTML = info.value;
                        })
                (10).自定义过滤器 
                
                语法:<any>{{表达式 | 过滤器}}</any> 
               Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:
                
                <!-- 在双花括号中 -->
                {{ message | capitalize }}
                <!-- 在 `v-bind` 中 -->
                <div v-bind:id="rawId | formatId"></div>
                 你可以在一个组件的选项中定义本地的过滤器:
                filters: {
                  capitalize: function (value) {
                    if (!value) return ''
                    value = value.toString()
                    return value.charAt(0).toUpperCase() + value.slice(1)
                  }
                }
                或者在创建 Vue 实例之前全局定义过滤器:
                Vue.filter('capitalize', function (value) {
                  if (!value) return ''
                  value = value.toString()
                  return value.charAt(0).toUpperCase() + value.slice(1)
                })
                 
                new Vue({
                  // ...
                })
                (11).v-pre 解析dom时,跳过这个标签,不解析这个标签中的所有内容,可以保留双花括号(v-cloak、v-test)
                例:<p v-pre>{{你好!}}</p>

vue框架初学习的基本指令的更多相关文章

  1. Vue框架:挂载点-过滤器-事件指令-表单指令

    近期学习安排 1.Vue框架 前台html+css+js框架,是不同于js与JQuery的数据驱动框架, 学习的知识点:指令 |  实例成员 | vue项目 2.drf框架 django的插件,完成前 ...

  2. requests库写接口测试框架初学习

    学习网址:    https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dscpm/ff75b907-415d-4220-89 ...

  3. Slog27_支配vue框架初阶项目之博客网站-样式居中

    ArthurSlog SLog-27 Year·1 Guangzhou·China July 30th 2018 GitHub 掘金主页 简书主页 segmentfault 没有写够足够的代码量,想成 ...

  4. vue第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法)

    第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法) #课程目标 了解 vue 框架的特点 掌握创建 vue 实例 掌握 data ...

  5. Vue 框架-07-循环指令 v-for,和模板的使用

    Vue 框架-07-循环指令 v-for,和模板的使用 本章主要是写一些小实例,记录代码,想要更详细的话,请查看 官方文档:https://cn.vuejs.org/v2/guide/#%E6%9D% ...

  6. VUE框架学习——脚手架的搭建

    #我的VUE框架学习 题记:初识VUE,觉得VUE十分的不错,故决定去深入的了解学习它,工欲善其事,必先利其器,下面是我搭建vue环境的过程! #一.项目搭建及初始化 1.安装:node.js:去官网 ...

  7. vue框架学习笔记(vue入门篇)

    vue框架 - 构建用户界面的渐进式框架 - 采用自底层向上增量开发的设计 - 核心库只关注视图层 - 当与单文件组件和vue生态系统支持的库结合使用时,也完全能够为复杂的单页应用程序提供驱动 - v ...

  8. Vue框架(一)——Vue导读、Vue实例(挂载点el、数据data、过滤器filters)、Vue指令(文本指令v-text、事件指令v-on、属性指令v-bind、表单指令v-model)

    Vue导读 1.Vue框架 vue是可以独立完成前后端分离式web项目的js框架 三大主流框架之一:Angular.React.Vue vue:结合其他框架优点.轻量级.中文API.数据驱动.双向绑定 ...

  9. vue学习04 v-on指令

    vue学习04 v-on指令 v-on的作用是为元素绑定事件,比如click单击,dbclick双击 v-on指令可简写为@ 代码测试 <!DOCTYPE html> <html l ...

随机推荐

  1. webpack前端自动化构建工具

    博主不易,不求赞赏,希望把自己遇到的难点写出来,以及希望自己能有能力写出一篇不错的博文. 前端构建工具本人 bootstrap+jquery用gulp vue+element 用webpack 本人最 ...

  2. aspnetcore进程内托管的坑-非常规方法解决Log4Net不写日志的问题

    问题描述:Log4Net,本地测试一切正常,发布后,无法自动创建文件夹和日志文件,无法写入文件. 一.在项目中配置Log4Net 请参考我的上一篇博客 <aspnetcore配置log4net并 ...

  3. CentOS 7 iptables 开放8080端口

    # 安装iptables-services [root@localhost bin]# yum install iptables-services [root@localhost bin]# /bin ...

  4. 性能测试学习第六天_loadrunner录制的一些问题

    1.录制脚本的两种查看方式(脚本查看和树查看) 2.录制选项 在vugen界面点击开始录制,如下图,点击选项,即进入录制选项界面 重点讨论录制选项下 基于HTML的脚本和基于URL的脚本 注:菜单栏图 ...

  5. 最简实例演示asp.net5中用户认证和授权(2)

    上接最简实例演示asp.net5中用户认证和授权(1) 基础类建立好后,下一步就要创建对基础类进行操作的类了,也就是实现基础类的增删改查(听起来不太高大上),当然,为了使用asp.net5的认证机制, ...

  6. 程序员从初级到中级10个秘诀——摘自CSDN

    程序员从初级到中级10个秘诀 1.学习先进的搜索技术.手段和及策略 2.帮助别人 教别人始终是学习一切东西的最好方法之一.相对而言,由于你在开发领域还是个新手,认为自己没什么可教给人家的,这可以理解. ...

  7. Java的compare比较

    package com.jckb; public class Name implements Comparable<Name>{ private String firstName; pri ...

  8. Ubuntu下eclipse无法识别手机驱动(以小米2S为例子)

    google官方开发向导里对Android手机已经设置了允许安装非market程序,并且处于usb调试模式,但是仍然在usb连接电脑后无法被识别的问题作了解释. 在Ubuntu Linux环境下需要添 ...

  9. SpringMVC配置文件 中 mvcview-controller 标签的使用

    一.<mvc:view-controller path=""/>标签的作用 工程WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到.需要通过控制器转 ...

  10. Day4 HTML新增元素与CSS布局

    Day4  HTML新增元素与CSS布局 HTML新增属性: 一:常见的布局标签(都是块级元素) <header>头部</header> <nav>导航</n ...