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 EasyUI API 中文文档 - Form表单
Oct 06 Javascript
用jquery生成二级菜单的实例代码
Jun 24 Javascript
javascript的动态加载、缓存、更新以及复用(一)
Jun 09 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
Jun 08 Javascript
全面解析Javascript无限添加QQ好友原理
Jun 15 Javascript
js利用正则表达式检验输入内容是否为网址
Jul 05 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
详细介绍RxJS在Angular中的应用
Sep 23 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
Nov 30 Javascript
vue项目支付功能代码详解
Feb 18 Vue.js
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中动态显示签名和ip原理
2007/03/28 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
13个PHP函数超实用
2015/10/21 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
详细分析Python垃圾回收机制
2020/07/01 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python如何获取文件路径/目录
2020/09/22 Python
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
2014年社区庆元旦活动方案
2014/03/08 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
商场广播稿范文
2015/08/19 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python