Vue.js学习笔记

一、Vue项目入口解析

1. 各初始文件概述

参考地址:https://blog.csdn.net/qq_36145914/article/details/86497123

在vue cli构建的项目中,main.js是项目的入口文件,定义了vue实例,并引入根组件app.vue,将其挂载到index.html中id为‘app’的节点上。

å¨è¿éæå¥å¾çæè¿°

main.js:

import Vue from 'vue'
import App from './App'

/* eslint-disable no-new */
new Vue({
  el: '#app', //挂载点
  components: { App }, // 根组件
  template: '<App/>'
})
  • 注意:
    vue实例挂载后,会对节点原内容进行覆盖。所以,即便index.html和app.vue中都定义了<div id="app"></app>, 最终网页也不会出现两个id为app的节点。
<!--index.html-->
<body>
    <div id="app"></div>
  </body>

<!--app.vue-->
<template>
  <div id="app">
    .....
  </div>
</template>

../router/index.js

把准备好的路由组件注册到路由里

2. 问题

  • main.js为什么叫入口文件,什么是“入口文件”?
  • 在运行npm run dev后,若不做特殊设置,index.html实际页面中仅挂载了app.js一个脚本,所有组件去哪儿了,app.js是如何形成的?
  • vue实例化在main.js中,但在index.html中并没有引入main.js,main.js与index.html是如何产生关联的?

3. 解答:Webpack

vue cli搭建的项目本质是一个集成预设置的webpack项目。是webpack驱动着项目的打包,热重载和本地运行。
而上述问题都是由webpack逐一处理的:

  • 入口文件是一个webpack概念;入口文件是webpack构建内部依赖图的起点
  • app.js是由webpack打包生成的输出文件
  • 而将app.js挂载到index.html这一过程是由webpack的一个插件——html-webpack-plugin完成的。

4. Vue的Webpack设置

入口配置

在webpack.base/webpack.dev中,vue默认设置main.js为项目的唯一入口。

在项目打包时,webpack会从main.js开始构建依赖图,梳理整个项目依赖且不重复的模块。

入口配置如下:

 entry: {
    app: './src/main.js'
  },
  • 延伸:如果要做多页面项目,而非默认的SPA(single page web application),那么就需要为每个页面设置一个入口。如果要将app与第三方库分离,也需要设置两个入口。

输出配置

在output中,可以配置打包输出文件的路径,名称,进行分离js/css等操作。

// webpack.base.conf
  output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath
  },

这里只讲一下filename这一属性:

filename定义的是输出文件的名称,[name]是webpack中的占位符,它对应entry中对象的键名。

默认配置中仅有一个入口-app,所以,在默认的开发模式下,本项目的所有资源最终打包生成的文件就是app.js。

注:在开发模式下,项目是跑在webpack-dev-server的虚拟服务器上,此时app.js仅存在于内存中。

HtmlWebpackPlugin配置

vue的webpack默认配置中还加入了htmlwebpackplugin插件,用于生成index.html与挂载JS脚本。

   new HtmlWebpackPlugin({
      filename: 'index.html',
      template: 'index.html',
      inject: true,
      favicon:'static/img/temple.png'
    })

配置参数中:

  • filename是输出文件名,
  • template是本地模板文件名,HtmlWebpackPlugin默认挂载的模板就是根目录下的index.html。
  • inject属性定义了js脚本加载的位置,默认值true,则在body最下方加载。
  • 你还可以添加其它参数,比如网站图标favicon等,这一系列参数均可参考webpack官方文档。

5. 总结

当你输入 npm run dev 后,发生了这样一连串事件——webpack选择了开发配置,并进入main.js入口文件,构建项目依赖图。webpack将整理后的所有依赖模块打包成输出文件app.js,接着htmlwebpackPlugin将它挂载到index.html页面上。

二、VSCode配置Node环境

"version": "0.2.0",
"configurations": [
        {
            "type" : "node",
            "request": "attach",
            "name" : "Node:Nodemon",
            "processId": "${command:PickProcess}",
            "restart": true,
            "protocol": "inspector"
        }
]

三、组件相关知识

  • 组件是可复用的Vue实例

组件的各属性选项

  • el: 挂载元素。可以是CSS选择符,或实际HTML元素,或返回HTML元素的函数
  • data: 必须是一个函数
  • props: 向子组件传递数据
  • components: 子组件。
  • template: 模板。模板将会替换挂载的元素。挂载元素的内容都将被忽略。也就是说,template: '<App/>' 表示用<app></app>替换index.html里面的<div id="app"></div>

生命周期

所谓的生命周期钩子,就是说组件在特定的时刻会自动触发事件,执行对应的函数。

四、指令

v-bind

作用:用来动态的绑定一个或者多个特性

v-for

作用:通过遍历数组来进行渲染。

并且在v-for中,拥有对父作用域属性的完全访问权限。

<ul id="app">
    <li v-for="item in items">
        {{parent}}-{{item.text}}
    </li>
</ul>
<script type="text/javascript">
    var example = new Vue({
      el:'#app',
      data:{
        parent:'父作用域'
        items:[
          {text:'文本1'},
          {text:'文本2'}
        ]
      }
    })
</script>

<!--渲染后-->

<ul id="app">
    <li>父作用域-文本1</li>
    <li>父作用域-文本2</li>
</ul>

v-model

作用:在表单上创建数据双向绑定。

v-model会忽略所有表单元素的value、checked、selected特性的初始值。因为它选择Vue实例数据做为具体的值。

修饰符:

  • .lazy:默认情况下,v-model同步输入框的值和数据。通过这个修饰符,可转变为发生change事件再同步。
  • .number:自动将用户输入第值转化为数值类型
  • .trim:自动过滤用户输入的首尾空格

各种Tips

  • vue的核心:简洁的模板语法,声明式地将数据渲染进 DOM 的系统,所有东西都是响应式
  • export default:这样export的话在import时模块名字就可以随便写啦

模板语法

  • “Mustache”语法 (双大括号) 的文本插值
<span>Message: {{ msg }}</span>

属性

  • el
  • data
  • computed 计算属性默认只有getter,但是也可以自己定义setter
  • watch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Algorithm_goddness

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值