Vue.js + Seajs 实例(包含vue-router使用)
这个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使用)的更多相关文章
- Vue.js是什么,vue介绍
Vue.js是什么,vue介绍 Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. ...
- Vue.js 第1章 Vue常用指令学习
今日目标 能够写出第一个vue应用程序 能够接受为什么需要学vue 能够使用指令 能够通过指定完成简单的业务(增加删除查询) 能够理解mvvm 为什么要学习vue 企业需要 可以提高开发效率 实现vu ...
- Vue.js系列(一):Vue项目创建详解
引言 Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,并详细介绍使用vue-cli脚手架工具快速的构建Vu ...
- Vue.js教程 2.体验Vue
Vue.js教程 2.体验Vue <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- 【Vue.js实战案例】- Vue.js递归组件实现组织架构树和选人功能
大家好!先上图看看本次案例的整体效果. 浪奔,浪流,万里涛涛江水永不休.如果在jq时代来实这个功能简直有些噩梦了,但是自从前端思想发展到现在的以MVVM为主流的大背景下,来实现一个这样繁杂的功能简直不 ...
- 【Vue.js游戏机实战】- Vue.js实现大转盘抽奖总结
大家好!先上图看看本次案例的整体效果. 实现思路: Vue component实现大转盘组件,可以嵌套到任意要使用的页面. css3 transform控制大转盘抽奖过程的动画效果. 抽奖组件内使用钩 ...
- 【Vue.js游戏机实战】- Vue.js实现九宫格水果机抽奖游戏总结
大家好!先上图看看本次案例的整体效果. 完整版实战课程附源码:[Vue.js游戏机实战]- Vue.js实现九宫格水果机抽奖 实现思路: Vue component实现九宫格水果机组件,可以嵌套到任意 ...
- 【Vue.js游戏机实战】- Vue.js实现老虎-机抽奖总结
大家好!先上图看看本次案例的整体效果. 完整版实战课程附源码:[Vue.js游戏机实战]- Vue.js实现老虎-机抽奖 实现思路: Vue component实现老虎-机组件,可以嵌套到任意要使用的 ...
- Vue.js路由管理器 Vue Router
起步 HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <script s ...
随机推荐
- ThinkPhp 源码阅读心得
php 中header 函数 我可能见多了,只要用来跳转.今天在阅读TP源码的时候发现,header函数有第三个参数.有些困惑所以找到手册查阅下,发现 void header ( string $st ...
- 浅谈href=#与href=javascript:void(0)的区别
#"包含了一个位置信息 默认的锚点是#top 也就是网页的上端 而javascript:void(0) 仅仅表示一个死链接 这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首 而 ...
- 用python计算lda语言模型的困惑度并作图
转载请注明:电子科技大学EClab——落叶花开http://www.cnblogs.com/nlp-yekai/p/3816532.html 困惑度一般在自然语言处理中用来衡量训练出的语言模型的好坏. ...
- 第一百三十节,JavaScript,封装库--连缀
JavaScript,封装库--连缀 学习要点: 1.连缀介绍 2.改写库对象 本章我们重点来介绍,在调用库的时候,我们需要能够在前台调用的时候可以同时设置多个操作,比如设置CSS,设置innerHT ...
- 为什么说2017全球云计算大会中国站 (Cloud Connect China 2017)不得不参加?
2017全球云计算大会中国站将继续关注全球云计算产业现状及最热门的领域,设立主题论坛.2017全球云计算大会中国站将于2017年9月5-7日在上海世博展览馆.正如去年9月活动现场所预告的,2017年除 ...
- 走迷宫 (nyoj 306)
学习自此博客题解 二分搜索+深搜.二分枚举最小差距值(路径上的最大值与最小值的差距),枚举的最小值为abs(a[1][1]-a[n][n]),最大值为题目给出的120.搜索时代入这个最小差距值,若存在 ...
- CSS菜单横竖布局要点
菜单纵向:把ul 元素的边框属性去除,li元素用border-top 上边框显示分离,把a 元素用display:block text-decoration:none 去除默认下划线 菜单横向: ...
- ios用storyboard快速创建静态cell
在实际开发中经常会遇到下面这样的页面,通常我们用静态cell来做可以快速创建,提高效率 下面讲一下用storyboard创建方法,将一个tableViewController控制器拖入storyboa ...
- centos设置svn开机自启动
安装好 svn 服务后,默认是没有随系统启动自动启动的, CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务 于是查 ...
- PHP检测文件能否下载
用php代码检测一个文件是否可以下载,网上没有找到合适的代码,自己实现了一个还挺好用的,分享给有需要的朋友. 基本原理:使用http的HEAD方法,检测报文的头里httpcode是否为200. pub ...