这个Demo 相关JS:

  Sea.js : Version 2.3.0

  seajs-text :  Version 2.3.0

  vue.js : Version 1.0.24

  vue-router: Version 0.7.10

  jquery: Version 1.0.24

特别是 seaj-text,一定需要引用,否则,require 相关HTML文件会报错。

结构图如下:

  index.html 核心代码如下

<div id="app">
<menu> </menu> <router-view> </router-view>
</div> <script type="text/javascript"> seajs.config({
base:"./static",
charset:'utf-8',
map:[],
paths:{}
}); $(function(){
seajs.use(["js/app.js"]);
});
</script>

 app.js 设定路由,默认启动的js.

define(function(require,exports,module){
require("js/components/menu.js"); /* 路由器需要一个根组件*/
var App=Vue.extend({}); //创建一个路由器实例
var router=new VueRouter(); router.map({
'/':{
component:function(resolve){
require.async(['js/modules/Index.js'],resolve);
}
},
'/teacher/:params1/:params2':{
/*name:"teacher",*/
component:function(resolve){
require.async(['js/modules/teacher.js'],resolve);
}
},
'/student':{
component: function (resolve) {
require.async(['js/modules/student.js'],resolve);
}
}
}); router.start(App,'html');
router.afterEach(function(transition){
console.log(transition.to.path);
});
});

 在modules 下面的js负责相关逻辑,比如显示界面,

define(function (require, exports, module) {
var sTpl = require('templates/student.html'); require("js/components/myCom.js"); var vueComponent = Vue.extend({
template: sTpl,
attached: function () {
var t = this;
$("#btn1").click(function () {
t.msg="dom change"
}); },
methods:function(){ },
data:function(){
return{
msg:"Bar page",
myComData:"自定义组件的数据"
}
}
}); module.exports=vueComponent;
});

  student.html代码如下

<div>
<h3>this bar page</h3>
<div>
{{msg}}
</div>
<my-com></my-com>
</div>

  其中  <my-com></my-com> 是自定义组件,代码如下:

define(function(require,exports,modul){
Vue.component('myCom',Vue.extend({
template:'<h1>我的自定义组件</h1>'+
'<p>' +
' {{myComData}}' +
'<button v-on:click="myCommonBtnClick">自定义组件</button>'+
'</p>',
replace:true,
data:function(){
return{
myComData:"初始化自定义组件值"
}
},
methods:{
myCommonBtnClick:function(){
this.myComData="改变后自定义组件值";
}
}
}));
});

   整个运行效果图如下:

  

   整个代码点击这里可下载,如果用 webStrom启动,则不需要配置服务器。

  

Vue.js + Seajs 实例(包含vue-router使用)的更多相关文章

  1. Vue.js是什么,vue介绍

    Vue.js是什么,vue介绍 Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. ...

  2. Vue.js 第1章 Vue常用指令学习

    今日目标 能够写出第一个vue应用程序 能够接受为什么需要学vue 能够使用指令 能够通过指定完成简单的业务(增加删除查询) 能够理解mvvm 为什么要学习vue 企业需要 可以提高开发效率 实现vu ...

  3. Vue.js系列(一):Vue项目创建详解

    引言 Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,并详细介绍使用vue-cli脚手架工具快速的构建Vu ...

  4. Vue.js教程 2.体验Vue

    Vue.js教程 2.体验Vue <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  5. 【Vue.js实战案例】- Vue.js递归组件实现组织架构树和选人功能

    大家好!先上图看看本次案例的整体效果. 浪奔,浪流,万里涛涛江水永不休.如果在jq时代来实这个功能简直有些噩梦了,但是自从前端思想发展到现在的以MVVM为主流的大背景下,来实现一个这样繁杂的功能简直不 ...

  6. 【Vue.js游戏机实战】- Vue.js实现大转盘抽奖总结

    大家好!先上图看看本次案例的整体效果. 实现思路: Vue component实现大转盘组件,可以嵌套到任意要使用的页面. css3 transform控制大转盘抽奖过程的动画效果. 抽奖组件内使用钩 ...

  7. 【Vue.js游戏机实战】- Vue.js实现九宫格水果机抽奖游戏总结

    大家好!先上图看看本次案例的整体效果. 完整版实战课程附源码:[Vue.js游戏机实战]- Vue.js实现九宫格水果机抽奖 实现思路: Vue component实现九宫格水果机组件,可以嵌套到任意 ...

  8. 【Vue.js游戏机实战】- Vue.js实现老虎-机抽奖总结

    大家好!先上图看看本次案例的整体效果. 完整版实战课程附源码:[Vue.js游戏机实战]- Vue.js实现老虎-机抽奖 实现思路: Vue component实现老虎-机组件,可以嵌套到任意要使用的 ...

  9. Vue.js路由管理器 Vue Router

    起步 HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <script s ...

随机推荐

  1. unity3dWeb版文本转语音

    文本转语音 <script type="text/javascript"> function VioceSpeack(str) { var zhText = str; ...

  2. Hibernate 二级缓存配置出现的异常

    1.java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Na ...

  3. CSS控制文本在一行内显示,若有多余字符则使用省略号表示

    强制文本在一行内显示,多余字符使用省略号 text-overflow: ellipsis; overflow: hidden; white-space: nowrap;

  4. CPU和GPU的区别

    个人认为CPU和GPU各有自己的适应领域.CPU(Central Processing Unit)计算核心较少,通常是双核.四核.八核,但是拥有大量的共享缓存.预测.乱序执行等优化,可以做逻辑非常复杂 ...

  5. 让innerHTML获取的内容包含input和select(option)的最新值

    function refreshData(){ var allInputObject=document.body.getElementsByTagName("input"); fo ...

  6. unity3d使用litjson中文显示的问题

    我们在使用litjson时它的编码方式是unicode的,所以我将json转成string输出时显示的是unicode的编码.这样我们显示或者保存中文时不是很方便.我们可以将中文的unicode转成能 ...

  7. 2016-2017 CT S03E02: Codeforces Trainings Season 3 Episode 2

    A HHPaint B Square Root C Interesting Places D Road to Home E Ant and apples F Square G Pair H The F ...

  8. angularjs-xeditable整合typeahead完成智能提示

    按照需求,需要在angularjs的xeditable中加入typeahead,来完成智能提示,并且在选择后,把该条数据的其他信息也显示在此行中,于是做了一下的测试修改. 当然,既然用了xeditab ...

  9. magento表单的导出

    1.Grid.php中得有:   $this->addExportType('*/*/exportXml' , Mage::helper('hpusernetwork' )->__('Ex ...

  10. Apache 2.4.16、PHP5.6.11安装教程

    以前我写过Apache2.4和php5.5的安装教程,但是后来我自己跟着自己写的东西做时发现有很多问题,这里把这些问题重新修正,再写一个教程,供大家参考. 注意:WinXP系统请选择旧版本Apache ...