vue实例

  • vue2.x中创建vue实例,挂载到dom节点
点击查详情
<div id="vue_det">
<h1>site : {{site}}</h1>
<h1>url : {{url}}</h1>
<h1>{{details()}}</h1>
</div>
<script type="text/javascript">
var vm = new Vue({ //实例化vue,构造器
el: '#vue_det', //el表达式,类似css中id
data: { //定义属性
site: "菜鸟教程",
url: "www.runoob.com",
alexa: "10000"
},
methods: {//定义函数方法
details: function() {
return this.site + " - 学的不仅是技术,更是梦想!";
}
}
})
//可直接使用该实例对象
vm.site = "goushen"
//$用户区分属性
document.write(vm.$el === document.getElementById('vue_det')) // true
</script>
  • vue3.x创建vue实例,挂载到dom节点
点击查详情
<script type="text/javascript">
const HelloVueApp = {
data() {
return {
message: 'Hello Vue!!'
}
}
}
Vue.createApp(HelloVueApp).mount('#hello-vue')
</script> <script type="text/javascript">
Vue.createApp({
data(){
return{
msg : '重庆'
}
}
}).mount("#app")
</script> <script type="text/javascript">
// 创建 Vue 应用
const app = Vue.createApp({
})
// 定义名为 todo-item 的新组件
app.component('todo-item', {
template: `<li>This is a todo</li>`
})
// 挂载 Vue 应用
app.mount('#app')
</script>
  • vue-cli构建的vue项目
// main.js中创建vue实例
new Vue({
router,
render: h => h(App)
}).$mount('#app') // 等同于
new Vue({
router: router, // es6写法,注册router为vue的属性
render: function (createElement) { // 根组件App.vue作为vue的属性
return createElement(App);
}
}).$mount('#app')

参考

main.js作为入口文件,引入router、element-ui、vuex等,在main.js中将这些组件注册为vue实例的属性

router

  • 路由跳转:

    安装router、less、less-loader -> 新建组件 -> 配置路由 -> 路由出口 -> main.js中挂载到vue
// 新建子组件login.vue
<template>
<div>
登录组件
</div>
</template>
<script>
// 默认导出
export default {}
</script>
// style中可使用less,socped表示style只有在当前组件生效
<style lang="less" scoped>
</style> // router/index.js中配置路由
import Login from '../components/Login.vue'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{path: '/', redirect: '/login'}, // 重定向
{path: '/login', component: Login} // 访问/login路由,跳转到login组件
]
}) // 根组件中编写路由出口
<router-view></router-view> // 在入口文件main.js中引入router/index.js,挂载到vue实例
import router from './router'
new Vue({
router,
render: h => h(App)
}).$mount('#app')
  • 子组件中执行路由跳转

    router/index.js中,将router引入、实例化、默认导出
import VueRouter from 'vue-router'
// 创建router实例
const router = new VueRouter({
routes: [
{path: '/home', component: Home}
]
})
// 导出
export default router // 入口文件中,导入router,作为vue实例的属性
import router from './router'
new Vue({
router, // es6语法,等同于 router: router,
render: h => h(App)
}).$mount('#app') // 相当于注册为vue的属性,子组件中直接跳转
this.$router.push("/home");

css样式

  • 全局样式放到assets/css/global.css;之后在入口文件main.js中引入

  • 在子组件的template标签中可使用html标签,style标签中使用样式

element-ui

  • element-ui使用
// 1. 安装插件vue-cli-plugin-element
// 2. element.js中引入所需组件,注册为自己的组件
import {Input} from 'element-ui'
Vue.use(Input)
// 3. 入口文件main.js中引入element.js,挂载到vue实例
import './plugins/element.js'
// 4. 直接在子组件中使用

参考

  • 可将element-ui的组件注册为vue实例的属性
// element.js中引入组件
import {Message} from 'element-ui'
// 挂载到vue实例的自定义属性message,这样就能通过this.$message使用Message
Vue.prototype.$message = Message
// login.vue中使用
this.$message.error("登录失败!");

axios

  • axios使用

    安装依赖axios -> 入口文件导入 -> 子组件中使用
// main.js中导入axios
import axios from 'axios'
// axios默认配置
axios.defaults.baseURL='http://localhost:8888/user'
// 将axios注册为vue实例的属性
Vue.prototype.$http = axios
// this.$http表示axios,post请求,参数一为路由,参数二为data
this.$http.post("login", this.loginForm);

vue项目梳理的更多相关文章

  1. Vue Vue项目目录结构梳理

    Vue项目目录结构梳理   by:授客 QQ:1033553122 1.   结构梳理   . ├── build/                      # webpack 配置文件: │   ...

  2. Vue项目结构梳理

    Vue项目结构图: 简单介绍目录结构 build目录是一些webpack的文件,配置参数什么的,一般不用动 config是vue项目的基本配置文件 node_modules是项目中安装的依赖模块 sr ...

  3. 入职一个月快速熟悉大型Vue项目经验感想

    来到和睦的公司家庭已经一个月出头了,从技术层面来说,公司项目PC端是我目前来说接触的最大最复杂的项目了,德老师也说这个不断开发更新迭代的项目的代码量相对于全国的web来说是蛮多的,对于快速熟悉这样的大 ...

  4. vue-cli快速构建Vue项目

    vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先装好vue 和 webpack npm i ...

  5. requirejs + vue 项目搭建2

    上篇是年后的项目搭建的,时间比较仓促,感觉有点low 1.gulp-vue 文件对公用js的有依赖,以后别的同事拿去搭其他项目,估计会被喷 2.不支持vue-loader一样写模版语言和es6语法 最 ...

  6. vue项目目录介绍

    Vue项目目录 初始化项目 vue init webpack []projectname] cd [projectname] npm install vue run dev 目录树 +---build ...

  7. Vue 项目实战系列 (一)

    最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ...

  8. 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)

    github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...

  9. vue项目构建与实战

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 由于vue相对来说比较平缓的学习过程和新颖的技术思路,使其受到了广大前后端开发者的青睐,同时其通俗易 ...

随机推荐

  1. 使用Elastic Job的分片配置加速任务执行和提高资源利用率

    上一篇,我们介绍了如何使用Elastic Job实现定时任务.解决了使用@Scheduled来实现时候存在的竞争问题,同时也实现了定时任务的高可用执行. 然而,还有一类问题是我们在做定时任务时候容易出 ...

  2. ASM入网小助手卸载

    目录 ASM小助手卸载 写在前的 卸载 解除U盘禁用 写在后的 ASM小助手卸载 写在前的 有些公司内网的上网认证是用的ASM小助手,不过有时候用自己电脑接入公司内网可能会主动下载到ASM入网小助手的 ...

  3. PS Lite - 源码解读

    PostOffice 类 /** * \brief 系统的中心. */ class Postoffice { public: /** * \brief 返回单例对象. */ static Postof ...

  4. Redis 实战篇:巧用数据类型实现亿级数据统计

    在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合,同时还要对集合中的数据进行统计排序. 常见的场景如下: 给一个 userId ,判断用户登陆状态: 两亿用户最近 7 ...

  5. 2020年度钻石C++C学习笔记(2)--《博学谷》

    2020年度钻石C++C--<博学谷> 1.以下标示符中命名合法的是A A.__A__ B.ab.c C.@rp D.2Y_ 2.设 a 和 b 均为 double 型变量,且a=5.5. ...

  6. time_formatter writeup

    攻防世界time_formatter writeup UAF漏洞和命令注入. 前置知识 1.strdup函数 char * __strdup(const char *s) { size_t len = ...

  7. RHCAS_DAY01

    世界三大云厂商: 第一:亚马逊,AWS 第二:微软,Azure 第三:中国,阿里云,在全球15个地区建立的200多个数据中心 https://www.aliyun.com/ #阿里云地址 云计算三种模 ...

  8. Git8.3k星,十万字Android主流开源框架源码解析,必须盘

    为什么读源码 很多人一定和我一样的感受:源码在工作中有用吗?用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已. 那为什么我还要读源码呢?一刚开始 ...

  9. 记一次mysql事务未提交导致锁未释放的问题

    记一次mysql事务未提交导致锁未释放的问题 ## 查看未提交的事务(3秒内未操作的事务) SELECT p.ID AS conn_id, P.USER AS login_user, P.HOST A ...

  10. 剖析虚幻渲染体系(10)- RHI

    目录 10.1 本篇概述 10.2 RHI基础 10.2.1 FRenderResource 10.2.2 FRHIResource 10.2.3 FRHICommand 10.2.4 FRHICom ...