牛客刷题——前端面试【七】谈一谈 Vue的指令、了解MVVM思想

简介: 通过以下了解 Vue的指令、了解MVVM思想。

目录

一、介绍


二、简单的指令学习


1.Vue的书写基本语法


2.v-clock解决


3.v-text填充不会出现出现闪动


4.v-html有风险,原则是永远不要用在客户提供的内容上


5.v-per 跳过编译直接显示


6.v-once 只能编译一次,提高性能


7.v-model 双向数据绑定


8.v-on 绑定事件,缩写用法(@)


9.v-bind绑定动态属性 缩写(:)


三、MVVM思想


前言


可以进一步的了解和学习,主要还需要下载文件,来进行代码的编译


安装文件地址:

安装 、Vue.js (vuejs.org)


一、介绍


Vue是渐进式框架

Vue 被设计为可以自底向上逐层应用

Vue 的核心库只关注视图层

当与"现代化的工具链" ,以及各种支持"类库" 结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。


二、简单的指令学习


1.Vue的书写基本语法

<div id="text">
        <div>{{msg}}</div>  <!--插值表达式,数据入的接收-->
    </div>
    <script src="./vue.js"></script><!--引入文件,通过在官网下载-->
    <script>
        let vm = new Vue({
            el:"#text",<!--告诉Vue填充到哪里-->
            data:{
                msg:'Hello Vue'<!--填充的数据-->
            }
        })
    </script>


2.v-clock解决

<style>
        [v-cloak]{
            display: none;  /*解决闪动问题*/
        }
    </style>
<div v-cloak>{{msg}}</div>



3.v-text填充不会出现出现闪动

<div v-text="msg"></div><!--填充,不会出现闪动-->



4.v-html有风险,原则是永远不要用在客户提供的内容上

<div v-html="msg1"></div> <!--有风险,第三方软件不推荐使用-->


5.v-per 跳过编译直接显示

<div v-pre>{{msg}}</div><!--跳过编译,直接显示-->



6.v-once 只能编译一次,提高性能

<div v-once>{{info}}</div><!--只会编译一次,不会二次编译,可以提高性能-->
2~6完整代码
    <style>
        [v-cloak]{
            display: none;  /*解决闪动问题*/
        }
    </style>
</head>
<body>
    <div id="app">
        <div v-cloak>{{msg}}</div>
        <div v-text="msg"></div><!--填充,不会出现闪动-->
        <div v-html="msg1"></div> <!--有风险,第三方软件不推荐使用-->
        <div v-pre>{{msg}}</div><!--跳过编译,直接显示-->
        <div v-once>{{info}}</div><!--只会编译一次,不会二次编译,可以提高性能-->
    </div>
    <script src="vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#app",
            data:{
                msg:'Hello Vue',
                msg1:'<h1>HTML</h1>',
                info:'good'
            }
        })
    </script>



7.v-model 双向数据绑定

<div id="text">
        <div>{{msg}}</div>
        <div><input type="text" v-model="msg"></div><!--双向数据绑定-->
    </div>
    <script src="./vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#text",
            data:{
                msg:'Hello Vue'
            }
        })
    </script>


8.v-on 绑定事件,缩写用法(@)

 

<div id="btn">
        <div>{{num}}</div>
        <div><button v-on:click="num++">点击</button></div>
        <div><button @click="num++">点击</button></div><!--缩写-->
        <div><input type="button" v-on:click="num++" value="点击"></div>
        <div><input type="button" @click="num++" value="点击"></div><!--缩写-->
    </div>
    <script src="./vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#btn", 
            data:{
                num:0
            }
        })
    </script>

9.v-bind绑定动态属性 缩写(:)

<div id="app">
        <span v-bind:title="content">小不人她,知制落极。</span><br>
        <span :title="content">小不人她,知制落极。</span> <!--缩写-->
    </div>
    <script src="./vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#app",
            data(){
                return{
                    content:`加载于${new Date().toLocaleString()}`
                } 
            }
        })
    </script>


三、MVVM思想


M(model)数据

V(view)DOM

VM(View-Model) 控制逻辑

核心思想:

把不同的业务代码放到不同的模块中,再通过特定的逻辑组织到一块。双向绑定的方式,从试图到模型用事件监听,从模型到试图用的是数据绑定。

image.png



相关文章
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
832 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
存储 JavaScript 前端开发
前端技术分享:使用Vue.js与Vuex管理状态
【10月更文挑战第1天】前端技术分享:使用Vue.js与Vuex管理状态
277 6
|
缓存 JavaScript 前端开发
vue面试题
vue面试题
405 64
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
658 41
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
853 5
一小时入门Vue.js前端开发
经典面试题:用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
在 C 语言中,使用 `#define` 预处理指令可以为常量命名,提高代码可读性和易维护性。通过基本时间单位换算(1 年 = 365 天 × 24 小时 × 60 分钟 × 60 秒),可以计算出一年中的总秒数,并将其定义为 `SECONDS_IN_A_YEAR`。示例代码展示了如何定义和打印这一常量,最终输出一年中有 31536000 秒。
984 15
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
923 6
|
开发框架 前端开发 JavaScript
React、Vue.js 和 Angular主流前端框架和选择指南
在当今的前端开发领域,选择合适的框架对于项目的成功至关重要。本文将介绍几个主流的前端框架——React、Vue.js 和 Angular,探讨它们各自的特点、开发场景、优缺点,并提供选择框架的建议。
637 6
|
JavaScript 前端开发 API
Vue.js:打造高效前端应用的最佳选择
【10月更文挑战第9天】Vue.js:打造高效前端应用的最佳选择
279 2
|
JavaScript 前端开发 API
前端技术分享:Vue.js 动态路由与守卫
【10月更文挑战第1天】前端技术分享:Vue.js 动态路由与守卫