vue项目梳理
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项目梳理的更多相关文章
- Vue Vue项目目录结构梳理
		Vue项目目录结构梳理 by:授客 QQ:1033553122 1. 结构梳理 . ├── build/ # webpack 配置文件: │ ... 
- Vue项目结构梳理
		Vue项目结构图: 简单介绍目录结构 build目录是一些webpack的文件,配置参数什么的,一般不用动 config是vue项目的基本配置文件 node_modules是项目中安装的依赖模块 sr ... 
- 入职一个月快速熟悉大型Vue项目经验感想
		来到和睦的公司家庭已经一个月出头了,从技术层面来说,公司项目PC端是我目前来说接触的最大最复杂的项目了,德老师也说这个不断开发更新迭代的项目的代码量相对于全国的web来说是蛮多的,对于快速熟悉这样的大 ... 
- vue-cli快速构建Vue项目
		vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先装好vue 和 webpack npm i ... 
- requirejs + vue 项目搭建2
		上篇是年后的项目搭建的,时间比较仓促,感觉有点low 1.gulp-vue 文件对公用js的有依赖,以后别的同事拿去搭其他项目,估计会被喷 2.不支持vue-loader一样写模版语言和es6语法 最 ... 
- vue项目目录介绍
		Vue项目目录 初始化项目 vue init webpack []projectname] cd [projectname] npm install vue run dev 目录树 +---build ... 
- Vue 项目实战系列 (一)
		最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ... 
- 简单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 ... 
- vue项目构建与实战
		关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 由于vue相对来说比较平缓的学习过程和新颖的技术思路,使其受到了广大前后端开发者的青睐,同时其通俗易 ... 
随机推荐
- Leetcode 春季打卡活动 第一题:225. 用队列实现栈
			Leetcode 春季打卡活动 第一题:225. 用队列实现栈 Leetcode 春季打卡活动 第一题:225. 用队列实现栈 解题思路 这里用了非常简单的思路,就是在push函数上做点操作,让队头总 ... 
- 《PHP 实现 Base64 编码/解码》笔记
			前言 早在去年 11 月底就已经看过<PHP 实现 Base64 编码/解码>这篇文章了,由于当时所掌握的位运算知识过于薄弱,所以就算是看过几遍也是囫囵吞枣一般,不出几日便忘记了其滋味. ... 
- 【超值分享】为何写服务器程序需要自己管理内存,从改造std::string字符串操作说起。。。
			服务器程序为何要进行内存管理,管中窥豹,让我们从string字符串的操作说起...... new/delete是用于c++中的动态内存管理函数,而malloc/free在c++和c中都可以使用,本质上 ... 
- 40.qt quick- 高仿微信实现局域网聊天V4版本(支持gif动图表情包、消息聊天、拖动缩放窗口)
			在上章37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面.UDP校验登录.皮肤更换.3D旋转),我们已经实现了: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登 ... 
- Intouch/ifix语音报警系统制作(3-利用自定义过程和函数,重构先前版本)
			在语音模块嵌入了半年左右的时间,经过实际使用发现,代码冗余,重复太多,维护较难,新增也不易,故而对整个框架进行整理,实现简单添加,维护容易的目的. 1.代码优化 1.1构建自定义过程 name 参数代 ... 
- 安装npm后,nrm ls报错问题
			一.nrm : 无法加载文件 E:\nodejs\nrm.ps1,因为在此系统上禁止运行脚本.有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135 ... 
- SAS 按自定义顺序对观测进行排序
			本文链接:https://www.cnblogs.com/snoopy1866/p/15091967.html 实际项目中会经常遇到按指定顺序输出Listing的情况,例如:输出所有受试者的分组情况列 ... 
- anyRTC视频连麦demo上线啦!
			音频连麦demo一经问世就得到开发者的一致好评,有很多开发者咨询视频连麦的demo该怎么去实现,本着让"视频交付更简单"的理念,我们推出了视频连麦demo! 音视频技术不仅局限用于 ... 
- ClickHouse与ES的优劣对比
			优点: ClickHouse写入吞吐量大,单服务器日志写入量在50MB到200MB/s,每秒写入超过60w记录数,是ES的5倍以上. 查询速度快,官方宣称数据在pagecache中,单服务器查询速率大 ... 
- 云服务器是什么?ECS、BCC、CVM...
			什么是云服务器?云服务器有哪些优势?能用来干什么? 很多人不太了解云服务器的定义和用途. 云服务器是一种简单高效.处理能力可弹性伸缩的计算服务,帮助用户快速构建更稳定.安全的应用,提升运维效率,降低 ... 
