亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

requirejs vue vue.router簡單框架

標簽:
Vue.js

index.html 入口页面

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title>vue</title>    <link href="../css/index.css" rel="stylesheet">    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="../dist/js/requirejs-2.1.22.js"></script>    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="../js/common/base.js"></script></head><body>    <div class="panel" id="app">        <div class="panel-left">            <ul class="menus">                <li v-for="menu in menus"><a v-on:click="switchPage(menu)">`menu`.`name`</a></li>            </ul>        </div><!-- panel-left -->        <div class="panel-right">            <router-view></router-view>        </div>    </div><!-- panel --></body></html>

base.js requirejs 配置文件

(function(){    requirejs.config({        baseUrl: "../js",        paths:{            "promise":"../dist/js/q",            "vue":"../dist/js/vue",            "vue.router":"../dist/js/vue-router.min",            "text":"../dist/js/text",            "css":"../dist/js/css.min"        },        waitSeconds: 15,        map:{        },        urlArgs: "version=" + Date.now(),        shim: {            promise:{                exports:"Q"            },            "vue": {                exports: "Vue"            },            "vue.router": {                exports: "VueRouter"            }        },        callback:function(){        },        deps:["vue","vue.router","promise","index"] // 默认要加载的js    });})();

index.js vue 入口

define(["vue","vue.router","common/routes"], function(Vue,VueRouter,routes) {    Vue.use(VueRouter);    var data = {        menus: [            {path: "/account", name: "账户管理"},            {path: "/authorization", name: "权限管理"},            {path: "/member", name: "会员管理"}        ]    };    var router = new VueRouter({        routes:routes    });    var methods = {        switchPage:function(menu){            console.log(menu);            this.$router.push(menu.path);        }    };    var app = new Vue({        router:router,        el:"#app",        data:data,        methods:methods    });});


routes.js 路由配置

define(["common/ResolveComponent"], function(ResolveComponent) {    var routes = [];    routes.push({        path: '/account',        component: ResolveComponent("account/account_index")    });    routes.push({        path: '/authorization',        component: ResolveComponent("authorization/authorization_index")    });    routes.push({        path: '/member',        component: ResolveComponent("member/member_index")    });    return routes;});


ResolveComponent.js  component懒加载工具

define(["require","promise"], function(require,Q) {    var resolve = function(dependency){        return function(){            if(!(dependency instanceof Array)){                dependency = [dependency];            }            var deferred = Q.defer();            require(dependency,function(res){                deferred.resolve(res);            });            return deferred.promise;        }    };    return resolve;});


account_index.js

define(["text!../../pages/account/account_index.html","css!../../css/account/account_index.css"], function(template) {    var data = {        list:[            {id:"001",name:"小王"},            {id:"002",name:"大王"},            {id:"003",name:"老王"}        ]    };    var methods = {        say:function(item){            alert("我居然是"+item.name);        }    };    return {        methods:methods,        template:template,        data:function(){            return data        }    }});


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消