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 相关文章推荐
jQuery 属性选择器element[herf*='value']使用示例
Oct 20 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
jquery delay()介绍及使用指南
Sep 02 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 Javascript
Angular2数据绑定详解
Apr 18 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
react-router中的属性详解
Jun 01 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 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 和 HTML
2006/10/09 PHP
PHP中for循环语句的几种变型
2006/11/26 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
python图形用户接口实例详解
2019/12/16 Python
Python新手学习函数默认参数设置
2020/06/03 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
HR求职自荐信范文
2014/06/21 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
青年文明号申报材料
2014/12/23 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
大学生暑期实践报告
2015/07/13 职场文书
宾馆安全管理制度
2015/08/06 职场文书
提档介绍信范文
2015/10/22 职场文书
python实现自动化群控的步骤
2021/04/11 Python