发表于: 2023-04-28 20:28:34

0 134






Vue知识点:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>初始 Vue</title>
    <!-- 引入vue -->
    <script type="text/javascript" src="../vue_basic/vue.js"></script>

</head>
<body>
    <!--
    初始Vue:
        1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;
        2.root容器里的代码依然符合html规范。只不过混入了一些特殊的Vue语法;
        3.root容器里的代码被称为【Vue模板】
        4.Vue实例和容器是一一对应的;
        5.真实开发中只有一个Vue实例,并且会配合着组件一起使用
        6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性;
        7.一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新;
     -->

    <!-- 准备好一个容器 -->
    <div id="root">
        <h1>Hello, {{name}},{{age}}岁</h1>
    </div>

    <script type="text/javascript">
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示

        //创建 Vue 实例
        new Vue({
            el:'#root', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串
            data:{//data中用于存储数据,数据供el所指定的容器去使用
                name:'张三',
                age:18
            }
        })
    </script>
   
</body>
</html>



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模板语法</title>
    <!-- 引入vue -->
    <script type="text/javascript" src="../vue_basic/vue.js"></script>

</head>
<body>


    <!-- vue模板语法有2大类:
    1.插值语法:
        功能:用于解析标签体内容。
        写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。
    2.指令语法:
        +功能:用于解析标签(包括:标签属性、标签体内容、绑定事件.....) .
        举例: v-bind :href="xxx”或简写为 :href="xxx",xxx同样要写js表达式,
            且可以直接读取到data中的所有属性
    备注:Vue中有很多的指令,且形式都是: v-????,此处我们只是拿v-bind举个例子.
    -->


    <!-- 准备好一个容器 -->
    <div id="root">
        <h1>插值语法</h1>
        <h3>你好, {{name}}</h3>
        <hr/>
        <h1>指令语法</h1>
        <!-- v-bind指令主要用于响应式的更新html属性 -->
        <a v-bind:href="url" v-bind:x="hello">点我跳转到{{name}}1</a>
        <!-- v-bind: 可以简写为 : -->
        <a :href="url" >点我跳转到{{school.name}}2</a>
    </div>

    <script type="text/javascript">
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示

        //创建 Vue 实例
        new Vue({
            el:'#root',
            data:{
                name:'张三',
                url:'http://www.baidu.com',
                hello:'你好',
                school: {
                    name:'百度'
                }
            }
        })
    </script>
   
</body>
</html>


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据绑定</title>
    <!-- 引入vue -->
    <script type="text/javascript" src="../vue_basic/vue.js"></script>

</head>
<body>
<!--
    视频中有2种数据绑定的方式
        1.单向绑定(虚拟绑定) :数据只能从数据流向页面。
        2.双向绑定(v-model): 数据不仅能从data流向页面,还可以从页面流向data。
    备注:
        1.双向绑定一般都应用在表单类元素上 (如:输入、选择等)
        2.v-model;value 可以简写为 v-model,因为v-model默认收集的就是value值
    -->


    <!-- 准备好一个容器 -->
    <div id="root">
        <!-- 普通写法 -->
        <!-- 单向数据绑定:<input type="text" v-bind:value="name"></br>
        双向数据绑定:<input type="text" v-model:value="name"></br> -->

        <!-- 简写 -->
        单向数据绑定:<input type="text" v-bind:value="name"></br>
        双向数据绑定:<input type="text" v-model="name"></br>

        <!-- 下面是错误的,因为v-model只能应用在表单类元素(输入元素)上 -->
        <!-- <h2 v-model:x="hello">你好</h2> -->
    </div>

    <script type="text/javascript">
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示

        new Vue({
            el:'#root',
            data:{
                name:'张三'
            }
        })
    </script>
   
</body>
</html>


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>el和data的两种写法</title>
    <!-- 引入vue -->
    <script type="text/javascript" src="../vue_basic/vue.js"></script>
</head>
<body>


    <div id="root">
        <h1>你好,{{name}}</h1>
    </div>


    <!--
    data与e1的2种写法
    1.e1有2种写法
        (1).new Vue时候配置el属性。
        (2).先创建Vue实例,随后再通过vm.$mount('#root')指定el的值。
    2.data有2种写法
        (1).对象式
        (2).函数式
        如何选择: 目前哪种写法都可以,以后学习到组件时,data必须使用函数式,否则会报错
    3。一个重要的原则:
        由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了。
     -->

    <script type="text/javascript">
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示

        //el的两种写法
        // const v = new Vue({
        //     //第一种写法
        //     // el:'#root',
        //     data:{
        //         name:'张三'
        //     }
        // })
        // console.log(v)
        // //  v.$mount() 可以代替el 更好的灵活了
        // v.$mount('#root') //第二种写法


        //data的两种写法
        new Vue({
            el:'#root',
            //data第一种写法: 对象式
            // data:{
            //     name:'张三'
            // }

            //data第二种写法: 函数式
            // data:function(){
            //     console.log('---',this)//此处的this是Vue的实例对象
            //     return{
            //         name:'李四'
            //     }
            // }

            // 函数式简写
            data(){
                console.log('---',this)//此处的this是Vue的实例对象
                return{
                    name:'李四'
                }
            }
        })


    </script>
   
</body>
</html>



返回列表 返回列表
评论

    分享到