(3)用vue写去哪网——单文件组件代码结构

news/2024/7/24 9:31:53 标签: vue项目, 单文件组件的代码结构

1. 首页文件:index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>quna.com</title>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

2. 其中body中就一个div id="app",这个div就是一个vue实例,该实例在src下的main.js

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

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

同时,该实例还引入了一个名为APP的组件

components: { App },

3. App.vue组件的代码结构

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

包括了template、script、style标签

template标签内是:组件的子组件template内容;script标签是:组件的js内容,包括了组件实例的各个属性,函数,方法,注意的是,script中有组件的导出默认名字;style标签中是:样式

4. 对Vue实例以及Vue实例中组件App.vue的解读:

项目入口文件index.html中div#app用到了Vue实例,Vue实例是main.js文件,引入vue,引入了App文件下App.vue组件,引入router文件下的index.js文件(router和Vue实例相似,都是js文件,同时都有自己的组件,但Vue实例引入了router,并可以使用router)

App.vue引入到Vue实例的名字是App,那么components和template中的名字必须是App。

App组件中是html结构,其中用到了router的router-view标签,router-view标签用的了HelloWorld组件。

所以:页面内容是有App组件和HelloWorld组件共同决定的。

5. 在main.js文件中(vue实例文件),

引入router文件下的文件(index.js)

就可以在vue实例的组件(App.vue)中使用,通过<router-view>标签直接调用router内容

而router文件下的文件(index.js),导入系统中的vue和vue-router,导出了一个Router对象,其中Router对象里,设置了路由。还引入了自定义组件HelloWorld.vue,那么HelloWorld组件内容将在App.vue组件中,而App.vue组件在Vue实例中,然后Vue实例在页面中展示。

6. 路由,各个组件都在路由中,各个页面的路径也都由路由决定,以及组件都包含在router-view中

实例组件App.vue中:router-view标签内包含了所有的页面

router的设置:引入了组件页面,设置了各个页面的路径


http://www.niftyadmin.cn/n/584624.html

相关文章

MVC笔记

MVC MVC是一个设计模式&#xff0c;它强制性的使应用程序的输入、处理和输出分开。使用MVC 应用程序被分成三个核心部件&#xff1a;模型、视图、控制器。它们各自处理自己的任务。 View&#xff08;视图&#xff09; Model&#xff08;模型&#xff09; Controlle…

项目中缺失node_modules文件

在自己开发项目的时候&#xff0c;莫名其妙的缺失了node_modules文件&#xff0c;我的解决办法是在项目文件夹下执行 指令 结果&#xff1a; 同时也增加了package.json和package-lock.json文件

(4)用vue写去哪网——引入第三方文件或插件

1. 引入reset.css文件 将reset.css文件放在静态文件夹assets中&#xff0c;它的引入也是有Vue实例main.js 引入的 注意&#xff1a;main.js是入口文件 2. 引入border.css文件 引入方法和reset.css一样 3. 为了解决click事件在移动端有时候点击会出现300ms延迟&#xff0c;引…

表达式中的函数

<!doctype html> <html> <head> <meta charset"utf-8"> <title>test</title> <script> //【示例1】在IE浏览器的CSS中支持expression运算函数&#xff0c;该函数能够实现CSS技术的脚本化控制。 /*<div style"widt…

(5)用vue写去哪网——iconfont的使用、路径别名、css变量

1. iconfont的使用 在iconfont官网选好自己项目中使用的svg图标&#xff0c;将这些图标添加到指定项目中&#xff0c;然后点击下载到本地&#xff0c;解压后&#xff0c;可用的文件是&#xff1a;iconfont.css和iconfont.eot、svg、ttf、woff这四种字体&#xff0c;将iconfont…

在C#中调用dll

编译 dll 文件。把 dll 文件拷贝到工作文件夹下面。在右边文件夹的【引用】上右击&#xff0c;选择【添加引用】&#xff0c;在【com】中浏览 选择&#xff0c;即可添加。也可以在菜单【项目】/【添加引用】上添加。如果需要修改&#xff0c;需要把管理员目录下的 dll 文件删除…

! [rejected] master - master (non-fast-forward)

出现 master -> master (non-fast-forward)这个错误&#xff0c;表明&#xff1a;你的本地仓库是新的代码&#xff0c;而你的远程仓库还是之前版本的代码 我在写项目的时候&#xff0c;下面这两种情况先出现了这种错误&#xff1a; &#xff08;1&#xff09;git init ——…

变量、字段、属性

类的成员&#xff1a; 1. 常量 → 固定的值 2. 字段&#xff08;变量&#xff09; → 会变化的值 3. 属性 → 受保护的值 4. 方法 → 一系列动作和行为 5. 运算符 → 特定的运算方式&#xff08;&#xff0c;&#xff0c;-&#xff0c;*&#xff0c;/&…