vue 3
复习
"""
v-if | v-show "tag == 0"
v-if | v-else-if | v-else
v-for="obj in objs"
<div :abc="obj">{{ obj }}</div>
computed:监听绑定函数中的所有变量,返回值给绑定的变量
watch:监听绑定的变量
let localTag = { # => <local-tag>
template: `只能有一个根标签`,
data: funtion() {
return {
}
},
methods: {
},...
}
new Vue({
components: {
localTag: localTag
}
})
Vue.component('globalTag', {})
父传子
<子 :abc="msg"></子>
父 {
data: {
msg: '信息'
}
}
子 {
props: ['abc']
}
子传父
<子 @ooo="fn"></子>
父 {
methods: {
fn: function(a, b) {
}
}
}
子 {
data: fn {
a: 'aaa',
b: 'bbb'
},
methods: {
// 子组件中触发 xyz
xyz: function() {
// 触发ooo自定义事件
this.$emit('ooo', a, b)
}
}
}
"""
Vue项目需要自建服务器:node
"""
1.用C++语言编写,用来运行JavaScript语言
2.node可以为前端项目提供server (包含了socket)
"""
npm:包管理器 - 为node拓展功能的
# 换国内源,加速下载
# 管理员命令行:npm install -g cnpm --registry=https://registry.npm.taobao.org
# MacOS: sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
# 所有npm的指令都可以换成cnpm
# npm install vuex => cnpm install vuex
vue cli环境:脚手架 - 命令行快速创建项目
"""
cnpm install -g @vue/cli
如果报错:npm cache clean --force
"""
创建Vue项目
"""起步
1.cd 到目标目录
2.创建项目:vue create 目录名
"""
""" 创建项目的过程
提示下载原:选择淘宝镜像
具体配置:上下键切换,空格键选择,回车键进入下一步
1.第二个选项进入自定义配置
2.Babel jsES6语法转换ES5,Router路由 Vuex:组件数据交互,vue就一个页面,但有很多组件,组件之间有通信,它把一个页面里面丢了一个单例对象(在任何地方拿到它都是唯一的对象),对象可以点出来属性,那这个对象保存的值,在任何组件拿到的都是这个值,在一个组件改了值,在其他组件中去拿,就是你在那一个组件改的值,实现了跨组件信息交互 Formatter格式化代码,
3...有提示选择大写,没提示默认第一个即可
"""
启动项目
""" 终端启动
1.进入项目:cd到项目目录
2.启动项目:npm run serve
"""
""" pycharm配置
1.按照vue.js插件,重启
2.配置项目的npm启动项
"""
项目目录
"""
node_modules:依赖
public:共有资源
ico:页面标签的logo
html:单页面 - 整个项目的唯一页面
src:代码主体
...:项目、插件等相关配置
"""
""" src
assets:静态资源
components:小组件
views:视图组件
App.vue:根组件
main.js:主脚本文件
router.js:路由脚本文件 vue-router
store.js:仓库脚本文件 vuex
"""
组件
<template>
<!-- 只能有一个根标签 -->
</template>
<script>
export default {
name: "Main",
data: function() {
return {
}
},
...
}
</script>
<style scoped>
/* scoped */
</style>
在根组件中渲染页面组件
<!-- Main.vue 主页组件 -->
<template>
<div class="main">
<h1>{{ title }}</h1>
</div>
</template>
<script>
export default {
name: "Main",
data: function () {
return {
title: '主页'
}
}
}
</script>
<style scoped>
.main {
height: 100vh;
background-color: orange;
}
h1 {
margin: 0;
color: red;
}
</style>
<!-- App.vue根组件 -->
<template>
<div id="app">
<!-- 3.使用 -->
<Main></Main>
</div>
</template>
<script>
// 1.导入
import Main from '@/views/Main'
export default {
// 2.注册
components: {
Main: Main
}
}
</script>
<style>
html, body {
margin: 0;
}
</style>
路由:router.js
在根组件中设计转跳页面的导航栏
创建三个页面组件
配置路由
前后台交互
vue 3的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- 初探Vue
Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...
随机推荐
- webpack在用dev-server的时候怎么配置多入口文件
类似下面这样就可以了,entry设置为对象 每个入口设置为属性,属性的值是一个数组,就可以像单入口一样往这个数组添加entry: { Profile: [ 'webpack-dev-server/cl ...
- let和const区别
let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. const命令 const声明一个只读的常量.一旦声明,常量的值就不能改变.
- java虚拟机的运行原理
一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 javac YourClassNam ...
- Problem 43 // Project Euler
Sub-string divisibility The number, 1406357289, is a 0 to 9 pandigital number because it is made up ...
- Redis:slave flush old data造成实例不可用
一.问题描述 2019-02-22凌晨02:42分前后,收到集群中 [10.32.52.8:6500] 实例不可用告警,登陆管理界面查看此实例在正常运行状态,期间未出现机器宕机或实例直接挂掉的现象. ...
- js大作业(0)
DAY1:在看HTML5游戏开发实战.手写了一遍乒乓球.自己玩了半小时.实话讲,和本科学的MFC差别不大.通过setInterval函数获取用户的输入 从而允许多用户操作.parseInt把字符串化为 ...
- C++走向远洋——35(友元,时间)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:time.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 华为的Java面试题,仅供参考。
IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号.不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位. 2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该 ...
- 线程状态,BLOCKED和WAITING有什么区别
线程可以通过notify,join,LockSupport.park方式进入wating状态,进入wating状态的线程等待唤醒(notify或notifyAll)才有机会获取cpu的时间片段来继续执 ...
- python2.7.6安装easy_install (windows 64 环境)
1.复制以下代码保存到easy_install.py文件中(文件名可随意命名)并将该文件放到python的安装路径中(如:D:\Python27) #!/usr/bin/env python &quo ...