1、Vue初识

本文介绍了Vue.js的基础知识,包括如何本地引入Vue、使用VueDevtools进行调试、创建HelloWorld示例、理解Vue模板语法、掌握v-bind和v-model的数据绑定以及el和data的使用方法。通过例子展示了MVVM模型的工作原理,帮助读者快速入门Vue开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Vue初识

vue 中文官网

学习 vue 的前提,最好是掌握了 HTML、CSS 和 JavaScript 的中级知识

1.1 vue 的引入

1、本地引入

直接从官网下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。

**开发版本:**包含完整的警告和调试模式

**生产版本:**删除了警告,33.46KB min+gzip

开发环境下不要使用压缩版本,不然你就失去了所有常见错误相关的警告!

2、Vue Devtools

在使用 Vue 时,我们推荐在你的浏览器上安装 Vue Devtools。它允许你在一个更友好的界面中审查和调试 Vue 应用

当我们调试代码时,查看控制台会发现有一堆提示,提示我们下载devtools能更好的开发

image-20210924092356363

下载好devtools后,在设置——拓展程序——打开开发者模式——将vue_dev_tools.crx拖拽进去

之后在详情中 开启无痕中启用及允许访问文件网址

image-20210924092752701

1.2 HelloWord

1、引入 vue

<script type="text/javascript" src="../js/vue.js"></script>

2、创建 容器

<div id="root">
    <h1>Hello {{address.toUpperCase()}}  {{1+1}}</h1>
</div>

3、创建 vue 实例

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

    //  创建 vue 实例
    new Vue({
        // el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
        el: '#root', 
        // data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
        data: {
            address: 'China'
        }
    })
</script>

4、小总结

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

1.3 模板语法

容器里面的代码被称为 Vue 模板

1、插值语法

功能:用于解析标签体内容

写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。

<!-- 插值语法 -->
<h1>您好,{{school.name}}</h1>

2、指令语法

功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)。

说明:v-bind:href=“xxx” 可以 简写为 :href=“xxx”

<!-- 指令语法 -->
<h1><a v-bind:href="school.address.toUpperCase()">点击我跳转百度1</a></h1>
<h1><a :href="school.address">点击我跳转百度2</a></h1>
<h1>我是,{{name}}</h1>

<script type="text/javascript">
    Vue.config.productionTip = false;
    new Vue({
        el: '#root',
        data: {
            name: "lisi",
            school: {
                name: "zs",
                address: "https://www.baidu.com"
            }
        }
    })
</script>

1.4 v-bind and v-model

两种都为数据绑定方式

v-bind: 单向绑定(v-bind):数据只能从data流向页面。

v-model: 双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。

注意:

  • 双向绑定一般都应用在表单类元素上(如:input、select等)

  • 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="password" :value="password">
    <br>
    双向数据绑定:<input type="password" v-model="password">

    <!-- 如下代码是错误的,因为v-model只能应用在表单类元素(输入类元素)上 -->
    <!-- <h2 v-model:x="name">你好啊</h2> -->
</div>
<script type="text/javascript">
    new Vue({
        el: '#root',
        data: {
            name: "zs",
            password: "123"
        }
    })
</script>

1.5 el and data

el: 用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。

data:中用于存储数据,数据供el所指定的容器去使用

1、el的两种写法

  • new Vue时候配置el属性。
<script>
    const v = new Vue({
        el:'#root', 
        data:{
            name:'123'
        }
    })
</script>
  • 通过Vue对象挂载的方式
<script>
    const v = new Vue({
        data:{
            name:'123'
        }
    })
    v.$mount("#root");
</script>

2、data的两种写法

  • 对象式
<script>
    const v = new Vue({
        el:'#root', 
        data:{
            name:'123'
        }
    })
</script>
  • 函数式
<script>
    const v = new Vue({
        el:'#root', 
        data: function(){
            return{
                name:'123'
            }
        }
    })
</script>

小总结:

  • 使用组件时,data必须使用函数式,否则会报错
  • 由Vue管理的函数,一定不要写箭头函数(function ()=>),一旦写了箭头函数,this就不再是Vue实例了。

1.6 mvvm模型

M:模型(Model) :data中的数据

V:视图(View) :模板代码

VM:视图模型(ViewModel):Vue实例

<div id="root">
    <h1>学校名称:{{name}}</h1>
    <h1>学校地址:{{address}}</h1>
    <h1>测试一下1:{{1+1}}</h1>
    <h1>测试一下2:{{$options}}</h1>
    <h1>测试一下3:{{$emit}}</h1>
    <h1>测试一下4:{{_c}}</h1> 
</div>

<script>
    const vm = new Vue({
        el:'#root',
        data:{
            name:'hello',
            address:'北京',
        }
    })
</script>

小总结:

  • data中所有的属性,最后都出现在了vm身上。

  • vm身上所有的属性 及 Vue原型上所有属性,在Vue模板中都可以直接使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值