如何优雅的使用vue+vux开发app -02
如何优雅的使用vue+vux开发app -02
很明显这又是一个错误的示范,请勿模仿
使用动态组件实现保留状态的路由

<!DOCTYPE html>
<html>
<head>
    <title>vue-vux</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <!--include Vux style-->
    <link rel="stylesheet" href="bower_components/vux/dist/vux.css">
    <!--include Vue yourself-->
    <script src="bower_components/vue/dist/vue.js"></script>
    <!-- vue-router -->
    <script src="bower_components/vue-router/dist/vue-router.js"></script>
    <!-- jquery -->
    <script src="bower_components/jquery/jquery.js"></script>
    <!--include the components you need-->
    <script src="bower_components/vux/dist/components/actionsheet/index.js"></script>
    <script src="bower_components/vux/dist/components/address/index.js"></script>
    <!-- 地址库数据 export addressData-->
    <script src="js/addressData.js"></script>
    <script src="bower_components/vux/dist/components/alert/index.js"></script>
    <script src="bower_components/vux/dist/components/badge/index.js"></script>
    <script src="bower_components/vux/dist/components/blur/index.js"></script>
    <script src="bower_components/vux/dist/components/box/index.js"></script>
    <script src="bower_components/vux/dist/components/button-tab/index.js"></script>
    <script src="bower_components/vux/dist/components/button-tab-item/index.js"></script>
    <script src="bower_components/vux/dist/components/calendar/index.js"></script>
    <script src="bower_components/vux/dist/components/card/index.js"></script>
    <script src="bower_components/vux/dist/components/cell/index.js"></script>
    <script src="bower_components/vux/dist/components/checker/index.js"></script>
    <script src="bower_components/vux/dist/components/checker-item/index.js"></script>
    <script src="bower_components/vux/dist/components/checklist/index.js"></script>
    <script src="bower_components/vux/dist/components/circle/index.js"></script>
    <script src="bower_components/vux/dist/components/clocker/index.js"></script>
    <script src="bower_components/vux/dist/components/color-picker/index.js"></script>
    <script src="bower_components/vux/dist/components/confirm/index.js"></script>
    <script src="bower_components/vux/dist/components/countdown/index.js"></script>
    <script src="bower_components/vux/dist/components/countup/index.js"></script>
    <script src="bower_components/vux/dist/components/date-formatter/index.js"></script>
    <script src="bower_components/vux/dist/components/datetime/index.js"></script>
    <script src="bower_components/vux/dist/components/dev-tip/index.js"></script>
    <script src="bower_components/vux/dist/components/dialog/index.js"></script>
    <script src="bower_components/vux/dist/components/divider/index.js"></script>
    <script src="bower_components/vux/dist/components/flexbox/index.js"></script>
    <script src="bower_components/vux/dist/components/flexbox-item/index.js"></script>
    <script src="bower_components/vux/dist/components/friendly-time/index.js"></script>
    <script src="bower_components/vux/dist/components/group/index.js"></script>
    <script src="bower_components/vux/dist/components/group-title/index.js"></script>
    <script src="bower_components/vux/dist/components/icon/index.js"></script>
    <script src="bower_components/vux/dist/components/inline-calendar/index.js"></script>
    <script src="bower_components/vux/dist/components/inline-desc/index.js"></script>
    <script src="bower_components/vux/dist/components/inview/index.js"></script>
    <script src="bower_components/vux/dist/components/loading/index.js"></script>
    <script src="bower_components/vux/dist/components/masker/index.js"></script>
    <script src="bower_components/vux/dist/components/number-roller/index.js"></script>
    <script src="bower_components/vux/dist/components/offcanvas/index.js"></script>
    <script src="bower_components/vux/dist/components/orientation/index.js"></script>
    <script src="bower_components/vux/dist/components/panel/index.js"></script>
    <script src="bower_components/vux/dist/components/picker/index.js"></script>
    <script src="bower_components/vux/dist/components/popup/index.js"></script>
    <script src="bower_components/vux/dist/components/popup-picker/index.js"></script>
    <script src="bower_components/vux/dist/components/previewer/index.js"></script>
    <script src="bower_components/vux/dist/components/progress/index.js"></script>
    <script src="bower_components/vux/dist/components/qrcode/index.js"></script>
    <script src="bower_components/vux/dist/components/radio/index.js"></script>
    <script src="bower_components/vux/dist/components/range/index.js"></script>
    <script src="bower_components/vux/dist/components/rater/index.js"></script>
    <script src="bower_components/vux/dist/components/scroller/index.js"></script>
    <script src="bower_components/vux/dist/components/search/index.js"></script>
    <script src="bower_components/vux/dist/components/selector/index.js"></script>
    <script src="bower_components/vux/dist/components/shake/index.js"></script>
    <script src="bower_components/vux/dist/components/spinner/index.js"></script>
    <script src="bower_components/vux/dist/components/steps/index.js"></script>
    <script src="bower_components/vux/dist/components/sticky/index.js"></script>
    <script src="bower_components/vux/dist/components/swiper/index.js"></script>
    <script src="bower_components/vux/dist/components/swiper-item/index.js"></script>
    <script src="bower_components/vux/dist/components/switch/index.js"></script>
    <script src="bower_components/vux/dist/components/tab/index.js"></script>
    <script src="bower_components/vux/dist/components/tab-item/index.js"></script>
    <script src="bower_components/vux/dist/components/tabbar/index.js"></script>
    <script src="bower_components/vux/dist/components/tabbar-item/index.js"></script>
    <script src="bower_components/vux/dist/components/timeline/index.js"></script>
    <script src="bower_components/vux/dist/components/timeline-item/index.js"></script>
    <script src="bower_components/vux/dist/components/tip/index.js"></script>
    <script src="bower_components/vux/dist/components/toast/index.js"></script>
    <script src="bower_components/vux/dist/components/wechat-emotion/index.js"></script>
    <script src="bower_components/vux/dist/components/x-button/index.js"></script>
    <script src="bower_components/vux/dist/components/x-header/index.js"></script>
    <script src="bower_components/vux/dist/components/x-img/index.js"></script>
    <script src="bower_components/vux/dist/components/x-input/index.js"></script>
    <script src="bower_components/vux/dist/components/x-number/index.js"></script>
    <script src="bower_components/vux/dist/components/x-textarea/index.js"></script>
    <script>
    // register components
    Vue.component("actionsheet", vuxActionsheet);
    Vue.component("address", vuxAddress);
    Vue.component("alert", vuxAlert);
    Vue.component("badge", vuxBadge);
    Vue.component("blur", vuxBlur);
    Vue.component("box", vuxBox);
    Vue.component("button-tab", vuxButtonTab);
    Vue.component("button-tab-item", vuxButtonTabItem);
    Vue.component("calendar", vuxCalendar);
    Vue.component("card", vuxCard);
    Vue.component("cell", vuxCell);
    Vue.component("checker", vuxChecker);
    Vue.component("checker-item", vuxCheckerItem);
    Vue.component("checklist", vuxChecklist);
    Vue.component("circle", vuxCircle);
    Vue.component("clocker", vuxClocker);
    Vue.component("color-picker", vuxColorPicker);
    Vue.component("confirm", vuxConfirm);
    Vue.component("countdown", vuxCountdown);
    Vue.component("countup", vuxCountup);
    Vue.component("date-formatter", vuxDateFormatter);
    Vue.component("datetime", vuxDatetime);
    Vue.component("dev-tip", vuxDevTip);
    Vue.component("dialog", vuxDialog);
    Vue.component("divider", vuxDivider);
    Vue.component("flexbox", vuxFlexbox);
    Vue.component("flexbox-item", vuxFlexboxItem);
    Vue.component("friendly-time", vuxFriendlyTime);
    Vue.component("group", vuxGroup);
    Vue.component("group-title", vuxGroupTitle);
    Vue.component("icon", vuxIcon);
    Vue.component("inline-calendar", vuxInlineCalendar);
    Vue.component("inline-desc", vuxInlineDesc);
    Vue.component("inview", vuxInview);
    Vue.component("loading", vuxLoading);
    Vue.component("masker", vuxMasker);
    Vue.component("number-roller", vuxNumberRoller);
    Vue.component("offcanvas", vuxOffcanvas);
    Vue.component("orientation", vuxOrientation);
    Vue.component("panel", vuxPanel);
    Vue.component("picker", vuxPicker);
    Vue.component("popup", vuxPopup);
    Vue.component("popup-picker", vuxPopupPicker);
    Vue.component("previewer", vuxPreviewer);
    Vue.component("progress", vuxProgress);
    Vue.component("qrcode", vuxQrcode);
    Vue.component("radio", vuxRadio);
    Vue.component("range", vuxRange);
    Vue.component("rater", vuxRater);
    Vue.component("scroller", vuxScroller);
    Vue.component("search", vuxSearch);
    Vue.component("selector", vuxSelector);
    Vue.component("shake", vuxShake);
    Vue.component("spinner", vuxSpinner);
    Vue.component("steps", vuxSteps);
    Vue.component("sticky", vuxSticky);
    Vue.component("swiper", vuxSwiper);
    Vue.component("swiper-item", vuxSwiperItem);
    Vue.component("switch", vuxSwitch);
    Vue.component("tab", vuxTab);
    Vue.component("tab-item", vuxTabItem);
    Vue.component("tabbar", vuxTabbar);
    Vue.component("tabbar-item", vuxTabbarItem);
    Vue.component("timeline", vuxTimeline);
    Vue.component("timeline-item", vuxTimelineItem);
    Vue.component("tip", vuxTip);
    Vue.component("toast", vuxToast);
    Vue.component("wechat-emotion", vuxWechatEmotion);
    Vue.component("x-button", vuxXButton);
    Vue.component("x-header", vuxXHeader);
    Vue.component("x-img", vuxXImg);
    Vue.component("x-input", vuxXInput);
    Vue.component("x-number", vuxXNumber);
    Vue.component("x-textarea", vuxXTextarea);
    </script>
</head>
<body style="margin-top: -1em;">
    <div id="app">
        <component :is="currentView" keep-alive></component>
    </div>
    <script type="text/javascript">
    Vue.component("Reg1", {
        props: ['user_name', 'DOB', 'gender'],
        template: '<group :user_name="user_name" :DOB="DOB" :gender="gender">' +
            '<x-header :left-options="{showBack: false}">注册</x-header>' +
            '<x-input :value.sync="user_name" placeholder="姓名"></x-input>' +
            '<calendar :value.sync="DOB" title="出生日期"></calendar>' +
            '<popup-picker title="性别" :data="gneder_list" :value.sync="gender"></popup-picker>' +
            '<x-button type="primary" style="margin-top: 20px;" @click="goNext">CONTINUE</x-button>' +
            '</group>',
        data: function() {
            return {
                gneder_list: [
                    ["男", "女"]
                ]
            }
        },
        methods: {
            goNext: function() {
                changeView('Reg2');
            }
        }
    });
    Vue.component('Reg2',{
        props:['re_email','email','password'],
        template:
            '<group :re_email="re_email" :email="email" :password="password">' +
                '<x-header>注册</x-header>' +
                '<x-input :value.sync="email" is-type="email" placeholder="邮箱"></x-input>' +
                '<x-input :value.sync="re_email" is-type="email" placeholder="确认邮箱"></x-input>' +
                '<x-input :value.sync="password" placeholder="密码" type="password"></x-input>' +
                '<x-button type="primary" style="margin-top: 20px;" @click="goNext">CONTINUE</x-button>' +
            '</group>',
        methods: {
            goNext: function() {
                changeView('Login');
            }
        }
    });
    Vue.component("Login", {
        props: ['email', 'log_password'],
        template: '<group :email="email" :log_password="log_password">' +
            '<x-header>登录</x-header>' +
            '<x-input :value.sync="email" is-type="email" placeholder="邮箱"></x-input>' +
            '<x-input :value.sync="log_password" placeholder="密码" type="password"></x-input>' +
            '<x-button type="primary" style="margin-top: 20px;" @click="goNext">CONTINUE</x-button>' +
            '</group>',
        methods: {
            goNext: function() {
                changeView('Reg1');
            }
        }
    });
    var app = new Vue({
        el: '#app',
        data: {
            currentView: 'Reg1',
            user_name: "",
            DOB: "",
            gender: [],
            email: "",
            re_email:"",
            password: "",
            log_password:""
        }
    });
    // 在路由处理器中切换页面
    app.currentView = 'Reg1';
    function changeView(view) {
        app.currentView = view;
    }
    </script>
</body>
</html>
如何优雅的使用vue+vux开发app -02的更多相关文章
- 如何优雅的使用vue+vux开发app -03
		如何优雅的使用vue+vux开发app -03 还是一个错误的示范,但是离优雅差的不远了... <!DOCTYPE html> <html> <head> < ... 
- 如何优雅的使用vue+vux开发app -01
		如何优雅的使用vue+vux开发app -01 很明显下面是个错误的示范: <!DOCTYPE html> <html> <head> <title>v ... 
- Vue+cordova开发App
		Vue+cordova开发App https://www.imooc.com/article/70062 
- cordova+vue混合式开发App
		应要求第一次使用cordova打包了一下vue写的app项目,期间遇到了不少问题,整理一下流程并记录一下常见问题吧. cordova打包项目需要的环境配置啥的就不具体讲啦,百度一下很多教 ... 
- 用vue快速开发app的脚手架工具
		前言 多页面应用于结构较于简单的页面,因为简答的页面使用router又过于麻烦.本脚手架出于这样的场景被开发出来. 使用脚手架搭配Hbuilder也同样可以快速使用vue开发安卓和IOS APP. 本 ... 
- 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
		如何优雅的使用vue+Dcloud(Hbuild)开发混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不过在开发过程中有一点不爽的是,如果想使用Dcloud提供的 ... 
- 基于Html5 Plus + Vue + Mui 移动App 开发(二)
		基于Html5 Plus + Vue + Mui 移动App 开发(二) 界面效果: 本页面采用Html5 Plus + Vue + Mui 开发移动界面,本页面实现: 1.下拉刷新.上拉获取更多功能 ... 
- 基于Html5 Plus + Vue + Mui 移动App开发(三)-文件操作(读取、保存、更新数据)
		随着手机的发展,现在越来越多的人选择在手机上看书.无论是专业书籍.文学.英语还是网络小说,在手机上看新闻成了人们处理零碎时间的办法.在智能手机里安装一个资讯APP,可以随时.随地查看自己想看的资讯 ... 
- vue常见开发问题整理
		1.(webpack)vue-cli构建的项目如何设置每个页面的title 在路由里每个都添加一个meta [{ path:'/login', meta: { title: '登录页面' }, com ... 
随机推荐
- 丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0
			var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ... 
- sqlserver的IO性能检查
			这一个月老被一个信息科科长纠缠,原因就是他们的sql server 2008 R2老是定期的写入性能低下.我是这样认为的,但身边的人似乎都不这么想.每每我对那个挂在一个交换机上的网络存储表达担忧时,这 ... 
- [UE4]Animation Techniques used in Paragon部分翻译及索引
			视频地址:https://www.youtube.com/watch?v=1UOY-FMm-xo 主要内容:该视频由Paragon游戏制作者Laurent Delayen(Senior Program ... 
- 也学习Java/JVM/GC(四)
			GC日志分析 程序代码: public class JvmTest { public static void main(String[] args) { int m = 1024 * 1024; by ... 
- phpcms V9二次开发之联动菜单筛选 包括box字段的多选 单选 筛选教程
			{php $theurl = "index.php?m=content&c=index&a=lists&catid=$catid";} {php $bran ... 
- code review
			代码审核,开发者代码完工,就可以下一个环节,即代码审核,通过代码审核,可以看到多个开发者的代码规范,隐藏的BUG,一些注释等规范. 通过代码审核,我们开发者可以互相学习,使得代码逻辑正确,重用 
- Java中的一个类怎么调用另一个类中的方法
			如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象 ... 
- java-android推送
			之前做的推送,考虑了很多,最后因为各个因素,选择了极光的. 
- 我的c漏洞
			传入指针参数 #include<stdio.h> #include<stdlib.h> void READ(int *a) { scanf("%d",a); ... 
- c一些关键字
			register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.注意是尽可能,不是绝对. extern:可以置于变量或者函数前,以标示变量或者函数的定义 ... 
