美文网首页
vue基础指令学习

vue基础指令学习

作者: 测试轩 | 来源:发表于2020-04-01 10:20 被阅读0次
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--定义挂载vue对象的div-->
<div id="app">
    <todo-list></todo-list>
</div>
<!--通过cdn的方式引入vue库-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    // 定义一个todo-item组件
    Vue.component('todo-item', {
        // props属性,定义子组件可以接收的参数以及类型和默认值,通过属性绑定的方式就可以传入参数,
        // 下文的:title="item.title" :del="item.del" 
        props: {
            title: String,
            del: {
                type: Boolean,
                default: false
            }
        },
        // data属性用于定义组件内部的参数,通过一个函数返回,无论被其他地方引用多少次,可以保证内部数据独立
        data: function () {
            return {
            }
        },
        // template属性定义组件模板代码
        // v-if指令,条件控制语句,根据其条件表达式返回的boolean值,判定当前标签的行为
        // v-else指令
        // v-show 控制标签是否显示
        // @click ,@语法糖,是v-on指令的简写,意思是进行实践绑定,这里的意思当检测到click事件时,调用handleClick函数
        template: `
        <li>
            <a v-if="!del" >{{title}}</a>
            <a v-else style="text-decoration: line-through">{{title}}</a>
            <button v-show="!del" @click="handleClick">删除</button>
        </li>
        `,
        // 定义当前组件的方法
        methods: {
            handleClick(){
                console.log("点击删除按钮")
                // this.$emit 方法,会触发父组件的一个事件,这个方法一般是子组件向父组件传递数据时使用
                // 当前场景是 触发父组件的delete方法,并传递一个参数,多个参数的话用逗号隔开就行
                // 这里的delete事件,是自定义的事件,上文的click事件时内置的事件
                this.$emit('delete', this.title)
            }
        }
    })
    // 定义一个TODOlist组件
    Vue.component('todo-list', {
        // 模板代码
        // @delete 绑定delete事件触发时执行的方法
        // v-for 循环指令
        // :title 冒号是v-bind指令的简写,用于属性绑定
        template: `
           <ul>
                <todo-item @delete="handleDelete" v-for="item in list" :title="item.title" :del="item.del"></todo-item>
           </ul>
        `,
        props: {

        },
        methods: {
            handleDelete(val){
                console.log("点击" + val)
            }
        },
        data: function () {
            return {
                list: [
                    {
                        title: '课程1',
                        del: false
                    },
                    {
                        title: '课程2',
                        del: true
                    }
                ]
            }
        }
    })

    let vm = new Vue({
        // 挂载
        el: "#app",
        data: {
            // title: String,
            // del: {
            //     type: Boolean,
            //     default: false
            // }
        }
    })
</script>
</body>
</html>

欢迎大家去 我的博客 瞅瞅,里面有更多关于测试实战的内容哦!!

相关文章

  • v-on指令

    Vue.js 基础学习 v-on 指令

  • vue 基础知识总结

    这里我们学习vue1.0和2.0看看他们之间有什么不同; 1.vue的基础指令## 1.1 v-on 指令的使用;...

  • vue学习---基础指令

    v-model:主要是在表单里面使用。比如文本框、下拉框、单选、复选、textarea。 v-model是一个双向...

  • vue基础指令学习

    欢迎大家去 我的博客 瞅瞅,里面有更多关于测试实战的内容哦!!

  • Vue 成长之旅 | Vue基础用法一

    一、Vue 基础使用 二 、 Vue的指令与过滤器 1、指令的概念 指令: 是vue为开发者提供的模板语法 , 用...

  • [Vue]基础指令

    v-model .lazy.lazy修饰符,焦点离开文本框发生变化 .trim去空格 .number Vue.di...

  • vue基础指令

    数据渲染 对比 {{}} , v-text, v-html的区别 具体代码 代码解析: 属性绑定 v-bind 用...

  • Vue基础指令

    Vue循环指令 Vue绑定指令: v-bind:style,v-bind:class: v-model双向数据绑定...

  • vue知识点列表

    vue基础 Vue 特点 Vue 实例 插值表达式 {{}} 指令: v-bind, v-if, v-for, v...

  • vue语法 大纲

    vue基础 Vue 特点 Vue 实例 插值表达式 {{}} 指令: v-bind, v-if, v-for, v...

网友评论

      本文标题:vue基础指令学习

      本文链接:https://www.haomeiwen.com/subject/uirouhtx.html