zoukankan      html  css  js  c++  java
  • VUE重修01

    ---恢复内容开始---

    1、框架与库的区别

    前端框架与库的区别?

    • jquery 库 -> DOM(操作DOM) + 请求

    • art-template 库 -> 模板引擎

    • 框架 = 全方位功能齐全

      • 简易的DOM体验 + 发请求 + 模板引擎 + 路由功能

    • KFC的世界里,库就是一个小套餐, 框架就是全家桶

    • 代码上的不同

      • 一般使用库的代码,是调用某个函数,我们自己把控库的代码

      • 一般使用框架,其框架在帮我们运行我们编写好的代码

        • 框架: 初始化自身的一些行为

          • 执行你所编写的代码

          • 施放一些资源

    2、vue使用npm下载完成后,其文件夹下会有几个不同后缀的文件:

    1)vue.common.js是以commomjs为规范的文件

    2)vue.esm.browser.js则是es6为标准的commonjs文件

    3)vue.esm.js 是以es6为标准的

    3.vue的基本使用:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="./node_modules/vue/dist/vue.js"></script>
        <title>Document</title>
    </head>
    <body>
        <div id="app">
    
        </div>
    </body>
    <script>
    new Vue({
        el:'#app',//目的地
        template:'<div>{{msg}}</div>',//只允许一个根标签,没有的话默认加载app根元素
        data(){
            return{
                msg:'hello'
            }//数据驱动视图,在vue实例对象
        }
    })
    //插值模板语法:双花括号
    </script>
    </html>

    花括号中允许插入对象,字符串,布尔值,三元表达式,对象要在花括号外加空格

    隔开

    4、指令:

    在vue中提供了一些对于页面+数据更方便的输出,这些操作被称为指令

    以v-xxx表示,封装了一些DOM行为

    v-text/v-html:渲染相应的文本/模板内容

    v-if/v-show:销毁或创建元素/隐藏或显示元素

    v-if可与v-else搭配使用

    v-for循环 

    v-for='(item,index) in menuLists' //item是值的每一项.index是数组的索引

    v-bind 为元素的属性绑定值,主要实现的是单向数据绑定

    :属性=‘data变量’

    v-on绑定事件,简写@

    v-model:双向数据绑定语法糖,但仅能在表单元素内绑定

    尝试用vue内部实现:

     5、局部组件

     1)局部组件可以使用以下方式进行声明

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="./node_modules/vue/dist/vue.js"></script>
        <title>Document</title>
    </head>
    
    <body>
        <div id="app">
    
        </div>
    </body>
    <script>
        //局部组件:声子,挂子,用子
        let App={//组件名称首字母必须大写
            template:'<div>entry{{msg2}}</div>',
            data(){
                return {
                    msg2:'ok啦'
                }//必须使用函数返回一个对象
            }
        }
        new Vue({
            el: '#app',//目的地
            template: '<App />',//这里的标签可以是单闭合
            data() {
                return {
                    msg: 'hello'
                }
            },
            components: {
                App
            }
        })
    //插值模板语法:双花括号
    </script>
    
    </html>

    4、全局组件

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="./node_modules/vue/dist/vue.js"></script>
        <title>Document</title>
    </head>
    
    <body>
        <div id="app">
    
        </div>
    </body>
    <script>
        //全局组件
        Vue.component('Vbtn',{//挂载到了vue的实例上,该实例的子组件
        //也可以使用这个全局组件
            template:'<button>hello</button>'
        })
        new Vue({
            el: '#app',//目的地
            template: '<Vbtn />',//这里的标签可以是单闭合
            data() {
                return {
                    msg: 'hello'
                }
            },
            components: {
                //不需要挂载Vbtn,已经挂载好了
            }
        })
    //插值模板语法:双花括号
    </script>
    
    </html>
  • 相关阅读:
    Spark Streaming反压机制
    spark submit参数及调优
    kafka中的配额管理(限速)机制
    Kafka限流
    BlockingQueue
    Android 更改userdata的大小
    visual studio 2019 error MSB3073 exited with code 1
    ARM 链接脚本分析
    Android Bluetooth hci 命令分析
    Android 查看蓝牙hci日志
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/10760677.html
Copyright © 2011-2022 走看看