85.【Vue-细刷-01】(二)

简介: 85.【Vue-细刷-01】

3.代码效果

⭐{{}} 的详细讲解

1.思路设想:

{{xxxx}},xxxx会自动读取data里的xxxx属性。

在这里我们再data里面存储的数据,由原来的一个对象。变成一个类,里面包含很多对象。eg:name对象和address对象。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>初始Vue</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 准备好一个容器,  -->
    <div id="root">
        <h1>名字:{{school.name}}</h1>
        <h1>地址:{{school.address}}</h1>
    </div>
    <script type="text/javascript">
        //  创建一个vue的实列
    const vm=new Vue({
        el:'#root',  // el用于指定当前Vue实列为哪个容器服务,值是选择器字符串,选择的写法类似于 jQuery
        data :{  //data 是存储数据的地方,为root容器提供数据,值为一个对象,相当于React中的state
           school:{
                name:'吉士先生',
                address:'河南省周口市'
           }
        }
    });
    </script>
</body>
</html>

2.获得一个类中的其他对象

<div id="root">
        <h1>名字:{{school.name}}</h1>
        <h1>地址:{{school.address}}</h1>
    </div>

3.效果展示

⭐()=>‘数据’ 箭头函数

此种写法()=>({})等同于()=>{return {}},是ES6的新特性。

1.基本演示

// 箭头函数
let fun = (name) => {
// 函数体
return `Hello ${name} !`;
};
// 等同于
let fun = function (name) {
// 函数体
return `Hello ${name} !`;
};

2.实战Vue利用箭头函数

在这里我们使用箭头函数 subject,那么我们的方法名就是subject

  • 箭头函数没有自己的this
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>初始Vue</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 准备好一个容器,  -->
    <div id="root">
        <h1>名字:{{school.name}}</h1>
        <h1>地址:{{school.address}}</h1>
        <h1>学习的是:{{school.subject()}}</h1>
    </div>
    <script type="text/javascript">
        //  创建一个vue的实列
    const vm=new Vue({
        el:'#root',  // el用于指定当前Vue实列为哪个容器服务,值是选择器字符串,选择的写法类似于 jQuery
        data :{  //data 是存储数据的地方,为root容器提供数据,值为一个对象,相当于React中的state
           school:{
                name:'吉士先生',
                address:'河南省周口市',
                subject: ()=>'Java_LCP'  //这里是一个方法
           }
        }
    });
    </script>
</body>
</html>

(三)、关于表达式的说明

1.表达式 var c=a,b (不加小括号)

不加小括号的版本,因为Js中var可以被覆盖,所以能够运行成功,察觉不到小逗号后面的b会被重新赋值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        /*
            这里我们添加表达式 var c =a,b的时候,没有用小括号
        */
        var a=1
        var b=2
        var c=a,b
        console.log(c);
        console.log(b);
    </script>
</body>
</html>

2.验证b被重新覆盖定义

把 b的作用域var换成let

3. 表达式 var c=(a,b) (加小括号)

c的值取值于 小括号的最后一个元素,b

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        /*
            这里我们添加表达式 var c =a,b的时候,用小括号 c的值取于 小括号的最后一个元素b
        */
        var a=1
        var b=2
        var c=(a,b)
        console.log(c);
        console.log(b);
    </script>
</body>
</html>

⭐4.回归到Vue的表达式

{{xxx,xxx}},和我们上边讨论的js代码一致。无小括号看第一个,有,看最后一个。

<h1>{{school.name,school.address}}</h1>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>初始Vue</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 准备好一个容器,  -->
    <div id="root">
        <h1>名字:{{school.name}}</h1>
        <h1>地址:{{school.address}}</h1>
        <h1>学习的是:{{school.subject()}}</h1>
        <hr>
        <h1>{{school.name,school.address}}</h1>
    </div>
    <script type="text/javascript">
        //  创建一个vue的实列
    const vm=new Vue({
        el:'#root',  // el用于指定当前Vue实列为哪个容器服务,值是选择器字符串,选择的写法类似于 jQuery
        data :{  //data 是存储数据的地方,为root容器提供数据,值为一个对象,相当于React中的state
           school:{
                name:'吉士先生',
                address:'河南省周口市',
                subject: ()=>'Java_LCP'  //这里是一个方法
           }
        }
    });
    </script>
</body>
</html>

不加小括号,如愿以偿。输出第一个

加上下括号,如愿以偿输出最后一个

<h1>{{(school.name,school.address)}}</h1>

5. 表达式 var x=a && b

会输出最后一个 数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        // 关于逻辑与 &&
        const a='qwe';
        const b='wer';
        const x=a && b;
        console.log(x);
        if(a && b){
            console.log('@');
        }
    </script>
</body>
</html>

6.源码解释官方md文件

a1 = true  && true       // t && t returns true
a2 = true  && false      // t && f returns false
a3 = false && true       // f && t returns false
a4 = false && (3 == 4)   // f && f returns false
a5 = 'Cat' && 'Dog'      // t && t returns "Dog"
a6 = false && 'Cat'      // f && t returns false
a7 = 'Cat' && false      // t && f returns false
a8 = ''    && false      // f && f returns ""
a9 = false && ''         // f && f returns false
相关文章
|
2天前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
11 3
|
5天前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
40 6
|
2天前
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
5 2
|
2天前
|
JavaScript 搜索推荐 UED
vue的自定义指令
【10月更文挑战第14天】Vue 自定义指令为我们提供了一种强大的工具,使我们能够更灵活地控制和扩展 Vue 应用的行为。通过合理地使用自定义指令,可以提高开发效率,增强应用的功能和用户体验。
|
3天前
|
JavaScript
|
5天前
|
缓存 JavaScript 前端开发
Vue 中动态导入的注意事项
【10月更文挑战第12天】 在 Vue 项目中,动态导入是一种常用的按需加载模块的技术,可以提升应用性能和效率。本文详细探讨了动态导入的基本原理及注意事项,包括模块路径的正确性、依赖关系、加载时机、错误处理、缓存问题和兼容性等,并通过具体案例分析和解决方案,帮助开发者更好地应用动态导入技术。
|
5天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
5天前
|
JavaScript 算法 前端开发
深入剖析Vue中v-for的使用及index作为key的弊端
深入剖析Vue中v-for的使用及index作为key的弊端
14 2
|
4天前
|
JavaScript UED
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
【10月更文挑战第5天】本示例展示了如何在 Vue.js 中使用 Element UI 组件实现动态添加和删除嵌套表单项。该表单包含设备信息、设备部位及其对应的任务列表,支持用户动态添加设备部位和任务,并提供相应的表单验证规则。
24 0
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
|
5天前
|
JavaScript
《进阶篇第9章》学习vuex知识点后练习:求和案例_纯vue版代码
《进阶篇第9章》学习vuex知识点后练习:求和案例_纯vue版代码
11 1