vue.js单页面应用实例的简单实现


Posted in Javascript onApril 10, 2017

一:npm的安装

由于新版的node.js已经集成了npm的环境,所以只需去官网下载node.js并安装,安装完成后使用cmd检测是否成功。

测试node的版本号:node -v

测试npm的版本号:npm -v

vue.js单页面应用实例的简单实现 

 以上提示代表安装成功

二:vue.js环境搭建

1、首先安装淘宝的npm镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org

2、安装vue.js环境::cnpm install -g vue-cli

3、测试vue的安装:vue

三:vue.js项目的建立

新建一个名为pt的vue项目:在F盘创建一个名为pt的文件夹:执行:cd f:\ vue init webpack pt

接下来会依次出现以下的操作

vue.js单页面应用实例的简单实现

注:Use ESlint to lint your code-是否使用ESlint(最后选否,否则不熟悉这种严格的方式,会被坑惨,没空格会报错,多空格也会报错)

vue项目的启动步骤:(1)cd pt (2)npm install (3)npm run dev

最终的目录结构:

vue.js单页面应用实例的简单实现

四:创建一个vue实例

main.js:应用入口文件

App.js:初始化组件

例:我们要实现如下效果的一个网站

vue.js单页面应用实例的简单实现

有四个模块:首页、公司介绍、招贤纳士、易点咨询。

项目的思维导向图:

vue.js单页面应用实例的简单实现

1、配置入口文件main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
// 引入router路由
import Router from 'vue-router'
// 引入项目的四个模块组件
import introduce from './components/introduce'
import home from './components/home'
import employment from './components/employment'
import consult from './components/consult'
// 使用router
Vue.use(Router)
// 定义路由
var routes = [{
 path: '/home',
 component: home
}, {
 path: '/introduce',
 component: introduce
}, {
 path: '/employment',
 component: employment
}, {
 path: '/consult',
 component: consult 
}]
// 实例化路由
var vueRouter = new Router({
 routes
})
// 创建和挂载根实例
new Vue({
 el: '#app',
 router: vueRouter,
 template: '<App></App>',
 components: { App }
})

2、初始化组件App.vue开发

<template>
 <div id="app">
  <div class="nav-top">
    <!-- 引入公用的头部 header组件 -->
     <v-header></v-header>
  </div>
  <div class="banner">
  </div>
  <div class="contianer">
   <!-- 路由中的几个组件在这里被渲染,默认被渲染的为第一个组件,也就是home组件 -->
   <router-view></router-view>
  </div>
 </div>
</template>
<style>
#app {
 font-family: 'Avenir', Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
}
.nav-top {
 position: absolute;
 top: 0;
 left: 50%;
 margin-left: -600px;
 z-index: 99;
}
.banner{
 width: 100%;
 height: 370px;
 overflow: hidden;
 background: url("components/banner.jpg");
 background-repeat: no-repeat;
}
</style>
<script>
//引入header组件
import header from './components/header.vue'
//输出header组件
export default{
 components: {
  'v-header': header
 }
}
</script>

3、创建公用头部组件

<template>
 <div class="header">
  <div class="header-wrapper">
   <div class="logo">
    <a href="/home" rel="external nofollow" ><img src="../assets/ysh.png" alt width="210"></a>
   </div>
   <ul class="nav">
    <li><router-link to="/home">首页</router-link></li>
    <li><router-link to="/introduce">公司介绍</router-link></li>
    <li><router-link to="/employment">招贤纳士</router-link></li>
    <li><router-link to="/consult">易点咨询</router-link></li>
   </ul> 
  </div> 
 </div>
</template>
<style>
.header{
 width:1200px;
 height:100px;
 margin:0 auto;
 color:#fff;
}
.header-wrapper{
 width:1200px;
 height:100px;
}
.logo{
 width:210px;
 height:100px;
 float:left;
}
.nav{
 width:700px;
 height:100px;
 font-size:15px;
 float:right;
}
.nav li{
 float:left;
 margin-right:30px;
 height:34px;
 line-height:34px;
 overflow:hidden;
 margin-top:34px;
}
.nav li:last-child{
 margin-right:0;
}
.nav a{
 display:inline-block;
 padding:0 13px;
 color:#fff;
 border-radius:15px;
}
.nav a.router-link-active{
 background:#c10514;
}
</style>

4、创建其他组件

需注意模板文件都只能有一个根元素。

<template>
<div class="intro">
公司介绍
</div>
<div>
zx
</div>
</template>
<style>
.intro{
  font-size:20px;
  color:#000;
  margin:20px auto;
}
</style>

像这种情况会报错。

正确的为:

<template>
  <div class="intro">
    公司介绍
  </div>
</template>
<style>
.intro{
  font-size:20px;
  color:#000;
  margin:20px auto;
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype Selector对象学习
Jul 23 Javascript
浏览器解析js生成的html出现样式问题的解决方法
Apr 16 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
Jun 30 Javascript
简单实现js无缝滚动效果
Feb 05 Javascript
详解VUE 数组更新
Dec 16 Javascript
Vue自定义全局Toast和Loading的实例详解
Apr 18 Javascript
js抽奖转盘实现方法分析
May 16 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 Javascript
javascript内存分配原理实例分析
Apr 10 #Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
Apr 10 #Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 #Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 #Javascript
Vue2递归组件实现树形菜单
Apr 10 #Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 #Javascript
javascript防篡改对象实例详解
Apr 10 #Javascript
You might like
PHP面向对象分析设计的61条军规小结
2010/07/17 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
在javascript中对于DOM的加强
2013/04/11 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
Vue程序调试的方法
2019/06/17 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
django将数组传递给前台模板的方法
2019/08/06 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
应届电子商务毕业自荐书范文
2014/02/11 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记
docker-compose部署Yapi的方法
2022/04/08 Servers