五十三、初识vue,实例成员语法,指令,

vue    1.什么是vue?        可以独立完成前后端分离式web项目的JavaScript框架    2.为什么要学习vue?        三大主流框架:Angular(脸书)、React(git公司)、vue(中国人第三方)        先进的前端设计模式:MVVM        可以完全脱离服务器,以前端代码复用渲染整个页面:组件化开发
vue框架    vue是前端框架:Angular(脸书)、React(git公司)、vue(中国人第三方)    vue:结合其他框架优点,轻量级,中文API,数据驱动,双向绑定,MVVM设计模式、组件化开发、单页面应用

vue环境:本地导入与cdn导入(都在代码最下面)
 <!--<script src="js/vue.js"> 本地导入-->
    <script src="https://cn.vuejs.org/js/vue.min.js"> cdn导入
vue是js渐进式框架    根据开发需求,可以决定vue框架控制项目具体位置,可以为一个标签,也可以为一个页面,甚至整个项目

实例成员-挂载点 el: 
  vue如何与html页面结构建立关联:挂载点  1.挂载点通常只能找到一个,所以一般会设置id  2.一个vue对象挂载点只能匹配到一个结果,一般会把挂载点用id标识  3.html与body不能作为挂载点  
<script>
// 这里是字典对象 vue就是实例
new Vue({
    el:‘.main‘,  // el就是实例成员
})
// 总结:1.html与body不能作为挂载点
      // 2.一个vue对象挂载点只能匹配一个结果,所以挂载点一般使用id‘标识
</script>
实例成员-数据 {{ }}:// 1.用实例成员data为vue环境提供数据,数据采用字典{}形式
// 2.在插值表达式,直接书写数据的key来访问数据// 3.在外部通过接受实例的变量app,访问实例成员(实例成员都用$开头),间接访问数据 app.$data.info// 4.在外部也可以通过实例变量app直接访问数据(优化过)  app.info  
 <div id="app">
         <!--只要在vue控制的标签中,{{ }}是插值表达式,中间出现的info是vue变量-->
            {{info}}
        </div>
// 1.用实例成员data为vue环境提供数据,数据采用字典{}形式// 2.在插值表达式,直接书写数据的key来访问数据// 3.在外部通过接受实例的变量app,访问实例成员(实例成员都用$开头),间接访问数据 app.$data.info// 4.在外部也可以通过实例变量app直接访问数据(优化过)  app.info

let app = new Vue({
                el:‘#app‘,
                data:{
                    info:‘message‘,
                    num:100,
                    result:true,
                    arr:[1,2,3,4,5],
                    dic:{
                        name:‘kevin‘,
                        age:18
                    }
                }
            })
        </script>
        <script>
            console.log(app);
            console.log(app.$data.num);
            console.log(app.num)
        </script>

过滤器(filters):    语法:{{ num|f}},data里面加上filters书写过滤函数,然后标签渲染    <!-- 插值表达式可以直接做简单运算   --> {{ num+1}}    没有参数过滤器:<p>{{ num | f1}}</p>    有参数过滤器一:<p>{{ 10,20,30,45 | f2}}</p>    有参数过滤器二:<p>{{ 10,20 | f2(30,45)}}</p>
filters:{
        f1:function (num) {
            return num*2
        },
        // 总结:{{ a,b,c,d | f1 }} {{ a,b | f1(c,d) }}
        f2:function (a,b,c,d) {
            return a+b+c+d
        }
文本指令 v-text:  
语法:v-指令名=变量
<p v-text="info"></p>
v-指令名="常量",常量采用常量基本语法,数字与布尔类型等可以直接书写,字符串等需要加符号‘‘
<p v-text="‘info‘"></p>
<p v-text="123"></p>
v-html可以解析html标签语法
<p v-html="‘<b>好的</b>‘"></p>
<p v-text="‘<b>好的</b>‘"></p>
      js多行字符串``
             let s1 = `第一行
            第二行
            第三行`;
            console.log(s1);
            let name =‘kevin‘;
            let age =18;
            let s2 =`
            name:${name}
            age:${age}
            `;
            console.log(s2)
事件指令 v-on:    语法一:事件指令:v-on:事件名="事件函数名"
<p class="low_num" v-on:click="lowNum">
        <span>点击一下减一:</span>
       <span> {{num}}</span>
        </p>
        双击事件:<p v-on:dblclick="dbAction">双击</p>
    语法二:事件名="事件函数" 可以简写成 @事件名="事件函数"
<p @mouseover="overAction()">悬浮</p>
        <p @mouseover="overAction(10,20)">悬浮1</p>
        <p @mouseover="overAction(10,20,$event)">悬浮2</p>
    事件传参:     @事件=‘函数方法‘  默认传入事件对象 $event     @事件="方法()",不传入任何参数,     @事件="方法(参数...)‘只传递自定义参数     @事件="方法"($event,参数.......),自定义传入事件对象

<script>
                new Vue({
                    el:‘#app‘,
                    data:{
                        num:99,
                    },
                    methods:{
                        lowNum:function () {
                            // 在vue实例内部的方法中,使用变量
                            this.num-=1;
                            // alert(this.num)
                        },
                        dbAction:function (ev) {
                            // this.num-=1;
                            console.log(ev)
                        },
                        overAction:function (a,b,c) {
                            console.log(a,b,c)
                        }
                    }
                })
            </script>

属性指令:    1.属性选择器 语法: v-bind:属性名="变量值"    <p id="d1" class="p1" style="" title="" index="">属性指令1</p>    <p id="d2" v-bind:class="p1" style="" title="" index="">属性指令2</p>    <p  v-bind:index="p1">自定义属性也可以被vue绑定1</p>

    2. v-bind:属性名="变量值" 可以简写    :属性名 ="变量"    <p  :index="p1">自定义属性也可以被vue绑定2</p>    <p  :title="‘文本提示‘">悬浮文本提示</p>

    3.style样式属性绑定    <p :style="myStyle">样式绑定1</p>    <p :style="{backgroundColor:c1,color:c2,‘border-radius‘:‘50%‘}">样式绑定2</p>

    4.class类属性绑定    <p :class="myc1">样式绑定3</p>    <p :class="[myc2,myc3,myc4,‘bbb‘]">样式绑定4</p>    <p :class="{ccc:ddd}">样式绑定5</p>   # ccc是类名

<style>
                    [index]{
                        color: orange;
                    }

                    .xxx{
                        background-color: yellowgreen;
                        color: greenyellow;
                        border-radius: 50%;
                    }
                       .xxx1{
                        background-color: yellowgreen;

                    }
                       .xxx2{
                        color: greenyellow;
                    }
                       .xxx3{
                        border-radius: 50%;
                    }
                    .ttt{
                        background-color:gold ;
                        color: yellowgreen;
                    }
                </style>

         <script>
            new Vue({
                    el:‘#app‘,
                    data:{
                        p1:‘q1‘,
                        myStyle:{
                            backgroundColor:‘red‘,   // 背景颜色
                            color:‘green‘,    // 字体颜色
                            ‘border-radius‘:‘50%‘,   // 画圆
                        },
            c1:‘cyan‘,
            c2:‘tan‘,
            myc1:‘xxx‘,
            myc2:‘xxx1‘,
            myc3:‘xxx2‘,
            myc4:‘xxx3‘,
            ddd:‘true‘,
        },
                methods:{
                    // clickAction () {
                    //     this.ddd= !this.ddd
                    // }
                    // 点击事件函数二:
                     clickAction:function () {
                         this.ddd= !this.ddd
                         }
                    }
                })
            </script>

    <!--案例:点击切换类名是否起作用 -->
    <p @click="clickAction" :class="{ttt:ddd}">点击切换类</p>
                   .ttt{
                        background-color:gold ;
                        color: yellowgreen;
                    }
                  data:{
                        ddd:‘true‘,
                    },
          methods:{
            // clickAction () {
            //     this.ddd= !this.ddd
            // }
            // 点击事件函数二:
             clickAction:function () {
                 this.ddd= !this.ddd
             }
        }

表单指令:
<div id="app">
    <form action="">
        <!-- 1.对表单标签value 进行绑定操作 变量 ,不能实时监测      -->
        <input type="text" class="inp1" :value="info">
        <input type="text" class="inp2" :value="info">
        <p class="p1">{{info}}</p>
    <style>
            .p1{
                width: 500px;
                height: 21px;
                background-color: skyblue;
            }
    </style>
        <hr>

        <!--2.表单标签的值由 v-model="变量" 来绑定 操作还是value,但是有实时监测功能       -->
     <input type="text" class="inp1" v-model="info">
        <input type="text" class="inp2" v-model="info">
        <p class="p1">{{info}}</p>
        <hr>
        <!-- 3.v-model操作单独复选框 - 确认框 -->
       是否同意:<input type="checkbox" name="agree"  true-value="yes" false-value="no"  v-model="isAgree">
        <p>{{isAgree}}</p>
        <hr>
        <input type="submit">
        <hr>
        <!--   4.单选框     -->
 性取向: 男 <input type="radio" name="sex" value="male" v-model="mysex">
                    女 <input type="radio" name="sex" value="female" v-model="mysex">
                    其他 <input type="radio" name="sex" value="others" v-model="mysex">
                    <p>{{mysex}}</p>
<!--   5.复选框     -->
 爱好: 男 <input type="checkbox" name="hobby" value="male" v-model="myhobbys">
                    女 <input type="checkbox" name="hobby" value="female" v-model="myhobbys">
                    其他 <input type="checkbox" name="hobby" value="others" v-model="myhobbys">
                    <p>{{myhobbys}}</p>

             <input type="submit">
        </form>

        <script>
            new Vue({
                el:‘#app‘,
                data:{
                    info:‘123‘,
                    isAgree: ‘yes‘,
                    mysex:‘‘,
                    myhobbys:[],
                }
            })
        </script>

 
 
 
  


原文地址:https://www.cnblogs.com/wukai66/p/11643587.html

时间: 2024-10-09 08:07:30

五十三、初识vue,实例成员语法,指令,的相关文章

实例成员与指令

一.实例成员 - 挂载点 vue如何与html页面结构建立关联:挂载点 注意点: 挂载点只遍历第一个匹配的结果 html与body标签不可以作为挂载点 挂载点的只一般就采用id选择器(唯一性) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>挂载点</title> </head> <bo

实例成员,指令

vue导读 """ vue框架 vue是前台框架:Angular.React.Vue vue:结合其他框架优点.轻量级.中文API.数据驱动.双向绑定.MVVM设计模式.组件化开发.单页面应用 vue环境:本地导入与cdn导入 """ ? # vue是js渐进式框架 # 根据开发需求,可以决定vue框架控制项目的具体方位:可以为一个标签,也可以为一个页面,甚至可以为整个项目 实例成员 - 挂载点 """ 1.vue渐

第二篇:Vue实例成员

Vue实例 1.el:实例 new Vue({ el: '#app' }) // 实例与页面挂载点一一对应 // 一个页面中可以出现多个实例对应多个挂载点 // 实例只操作挂载点内部内容 2.data:数据 <div id='app'> {{ msg }} </div> <script> var app = new Vue({ el: '#app', data: { msg: '数据', } }) console.log(app.$data.msg); console.

Vue—实例成员computed和watch

Computed 一个变量依赖于多个变量 现在需要full_name这个变量以来于first_name和last_name这两个变量需要用到computed 好处: 1.相当于在computed中定义的变量值等于绑定的函数的的返回值,该变量无需再data中声明 2.在computed绑定的函数中所有的变量都会进行监听,只要写在里面就会被监听 <div id="app"> <p> 姓:<input type="text" v-model=

Vue框架简介,实例成员,事件,过滤器,文本、事件和属性指令

目录 Vue框架简介,实例成员,事件,过滤器,文本.事件和属性指令 什么是Vue 为什么要学Vue 如何使用Vue Vue实例成员 1.el: 实例 2.data: 数据 3.methods: 方法 Vue事件 面向对象js Vue过滤器 Vue指令 文本指令 事件指令 属性指令 Vue框架简介,实例成员,事件,过滤器,文本.事件和属性指令 什么是Vue vue框架:渐进式JavaScript框架 ? vue一个环境:可以只控制页面中一个标签,可以控制一组标签,可以控制整个页面,可以控制整个项目

Vue入门和一些指令

Vue框架:官网 vue框架:渐进式JavaScript框架 vue一个环境:可以只控制页面中一个标签.可以控制一组标签.可以控制整个页面.可以控制整个项目 vue可以根据实际需求,选择控制前端项目的区域范围 为什么学习vue """ 1.html.css.js直接开发项目,项目杂乱,不方便管理,要才有前端框架进行开发,规范项目 2.Angular.React.Vue三个前端框架,吸取前两个框架的所有优点,摒弃缺点,一手文档是中文 3.Vue框架优点: 轻量级 数据驱动 数据

vue框架:框架简介,基础实例成员,基础指令,js对象方法补充

1.指令 2.实例成员 3.组件 4.项目开发 1)定义:JavaScript渐进式框架 ? 渐进式:可以控制一个页面的一个标签,也可以控制一系列的标签,也可以控制整个页面,甚至可以控制整个前台项目 2)优势: ? 有指令(分支结构,循环结构...) 复用页面结构等 ? 有实例成员(过滤器,监听), 可以对渲染的数据进行二次格式化 ? 有组件(模板的复用或组合),快速搭建页面 ? ? 虚拟dom:所有文件加载到内存中 ? 数据的双向绑定 ? 单页面应用 ? 数据驱动 3)为什么学习vue: ?

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.数据驱动.双向绑定.MVVM设计模式.组件化开发.单页面应用 Vue环境:本地导入和cdn导入 2.Vue是渐进式js框架 通过对框架的了解与运用程度,来决定其在整个项目中的应用范围,最终可以独立以框架方式完成整个web前端项目.3.怎么使用vue 去官网下载然后导入 <div id="app">

v-once指令、v-cloak指令、条件指令家族、原义指令、循环指令、todolist案例、实例成员-符号、实例成员-计算属性、实例成员-属性监听、监听的案例、局部组件、全局组件、组件交互(父传子、子传父)

v-once指令: v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <div id="app"> <input type="text" v-model="msg"> <!-- 一旦赋值,只可主动更改 --> <input type="text" v-model="msg" v-once> <p>{{ m