vonic单页面应用
Vonic—基于Vue.js和ionic样式的移动端UI框架
先放上源码和demo地址:
标签演示: https://wangdahoo.github.io/vonic/docs/
源码: https://github.com/wangdahoo/vonic
需要的js,css文件在 https://unpkg.com 中根据格式要求可以找到:
jquery-1.11.1.min.js
index.html
需要注意的是, 在html中使用vue语法绑定属性或者事件时,不能使用简写, 例如:@click, :class等, 必须使用全写 v-on:click, v-bind:class 等, 有些vonic的标签会使vue的语法不起作用, 使用html的标签就好了
关于页面间数据传递,可以参考:https://blog.csdn.net/libin_1/article/details/51775655
<!DOCTYPE html>
<html>
<head>
<title>index</title>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <link type="text/css" rel="stylesheet" href="/css/vonic.min.css"/>
<link type="text/css" rel="stylesheet" href="/css/ionicons.woff"/> </head>
<body>
<!-- mount point -->
<von-app></von-app> <!-- index -->
<script type="text/x-template" id="index">
<div class="page has-navbar" v-nav="{title: '标题',showMenuButton:true,showBackButton:true}">
<div class="page-content padding-top">
<!-- type: text, password, email, tel -->
<div class="item item-divider">
有标签: {{username}}
</div>
<von-input type="text" v-model="userName" placeholder="用户名" label="用户名"></von-input>
<von-input type="password" v-model="passWord" placeholder="密码" label="密码" style="margin-bottom: 5px;"></von-input> <div class="padding">
<button class="button button-positive button-block" v-on:click="change()">确认</button>
</div> <div class="item item-divider">
无标签: {{tel}}
</div>
<von-input type="tel" v-model="tel" placeholder="手机"></von-input>
</div>
</div>
</script>
<!--index2-->
<script type="text/x-template" id="index2">
<div class="page has-navbar" v-nav="{title: '标题',showMenuButton:true,showBackButton:true}">
<div class="page-content padding-top">
<!-- type: text, password, email, tel -->
<div class="item item-divider">
有标签: {{username}}
</div>
<von-input type="text" v-model="userName2" placeholder="用户名" label="用户名"></von-input>
<von-input type="password" v-model="passWord2" placeholder="密码" label="密码" style="margin-bottom: 5px;"></von-input> <div class="padding">
<button class="button button-positive button-block">确认</button>
</div> <div class="item item-divider">
无标签: {{tel}}
</div>
<von-input type="tel" v-model="tel2" placeholder="手机"></von-input>
</div>
</div>
</script>
<script src="/js/jquery-1.11.1.min.js"></script>
<script src="https://unpkg.com/axios@0.15.3/dist/axios.min.js"></script>
<script src="https://unpkg.com/vue@2.1.10/dist/vue.min.js"></script>
<script src="plugins/vue/vue-resource.min.js"></script>
<script src="https://unpkg.com/vue-router@2.2.1/dist/vue-router.min.js">
</script> <script src="https://unpkg.com/vuex@2.2.1/dist/vuex.min.js"></script>
<script src="https://unpkg.com/vonic@2.0.0-beta.11/dist/vonic.min.js"></script>
<script type="text/javascript" src="/js/index.js"></script>\
</body>
</html>
index.js
var index_data={
userName:'',
passWord:'',
tel:''
}
var index= {
template: '#index',//这里的index是html中的<script type="text/x-template" id="index">的id值 剩下的写法跟vue一样
data: function(){
return index_data;
},
created: function () { },
methods: {
change:function:{
var self = this;
localStorage.setItem("data",self.userName);//将要传递个另外一个页面的值存入缓存中, 然后在另一个页面根据key取出
window.location.href = "index.html#/index2.html";//跳转到index2.html的template
}
}
}
//=================================================================================================
var index2_data={
username:'',
password:'',
tel:''
}
var index2= {
template: '#index2',//这里的index是html中的<script type="text/x-template" id="index2">的id值 剩下的写法跟vue一样
data: function(){
return index2_data;
},
created: function () {
var self = this;
self.userName = localStorage.getItem("data");
},
methods: {
}
}
var routes = [
{ path: '/', component: index},//根据这个index找到上面的var index={} path是请求路径
{ path: '/index2', component: index2}
]
Vue.use(Vonic.app, {
routes: routes
})
请求路径: localhost:8080/index.html 端口号换成自己的,这样就跳到index那个template了
大致的框架就是这样了, 可能还会存在些问题 , 一般就是标签没有闭合, 绑定的属性不对, vonic的标签和vue事件冲突 , js引入不对也会不显示, 在使用跳转的时候如果不成功,改变跳转路径, 多试试, 具体跳转原理还没有深入了解
vonic单页面应用的更多相关文章
- H5单页面手势滑屏切换原理
H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 ...
- 快速构建H5单页面切换骨架
在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...
- webpack+react+antd 单页面应用实例
React框架已经火了好长一段时间了,再不学就out了! 对React还没有了解的同学可以看看我之前的一篇文章,可以快速简单的认识一下React.React入门最好的实例-TodoList 自己从开始 ...
- AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面。。。
SPA(Single Page Application)指的是通单一页面展示所有功能,通过Ajax动态获取数据然后进行实时渲染,结合CSS3动画模仿原生App交互,然后再进行打包(使用工具把Web应用 ...
- 浅谈HTML5单页面架构(一)——requirejs + angular + angular-route
心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验 ...
- 单页面实现之hash
至学了angularJs后,发现这个单页面应用不知道在没有angularJs的情况下怎么实现. 所以就此对这个思考与资料并行,终于知道这个的实现基本原理. 首先angularJs的实现是hash值的变 ...
- 浅谈HTML5单页面架构(三)—— 回归本真:自定义路由 + requirejs + zepto + underscore
本文转载自:http://www.cnblogs.com/kenkofox/p/4650310.html 不过,这一篇,我想进一步探讨一下这两个框架的优缺点,另外,再进一步,抛开这两个框架,回到本真, ...
- 浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore
本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)--requirejs + angular + a ...
- jQuery File Upload 单页面多实例的实现
jQuery File Upload 的 GitHub 地址:https://github.com/blueimp/jQuery-File-Upload 插件描述:jQuery File Upload ...
随机推荐
- maven安装、配置及创建工程
准备工作 java开发环境(JDK) maven下载地址:http://maven.apache.org/release-notes-all.html 一.安装 安装maven超级简单,总共分三步: ...
- 《C#并发编程经典实例》学习笔记—异步编程关键字 Async和Await
C# 5.0 推出async和await,最早是.NET Framework 4.5引入,可以在Visual Studio 2012使用.在此之前的异步编程实现难度较高,async使异步编程的实现变得 ...
- [转]Cordova - 彻底搞定IOS编译!
本文转自:https://www.cnblogs.com/sunylat/p/9946482.html 操作系统:OSX10.14 XCode:10.1 Cordova:8.1.2 假设已经配置好了C ...
- win10 uwp 商业游戏 1.2.1
上一个游戏已经告诉大家如何写多个游戏,现在继续写这个无聊的游戏 希望大家在看这篇文章之前先看win10 uwp 商业游戏,在这个文章告诉了大家如何创建游戏. 修改数值 可以从上一篇的博客的游戏看到升级 ...
- python中的协程
目录 协程是啥 协程和线程差异 简单实现协程 greenlet 安装方式 gevent 安装 1. gevent的使用 2. gevent切换执行 3. 给程序打补丁 进程.线程.协程对比 请仔细理解 ...
- Aquarium Tank(csu1634+几何+二分)Contest2087 - 湖南多校对抗赛(2015.05.24)-G
Aquarium Tank Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 15 Solved: 4[Submit][Status][Web Board ...
- 什么是xss攻击,如何预防(初级)?
概念: XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web应用程序中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进行处理,直接将 ...
- react-conponent-hellocynthia
<!DOCTYPE html> <html> <head> <script src="../../build/react.js">& ...
- MySQL 内置函数
CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. +------------------------+ | CHAR_LENGTH('k ...
- [HTML/CSS]三角形
CSS盒子模型 当我们把padding和width,height全部设置为0,border设为一个较大的像素时 即:我们需要什么方向的三角形,只需把其余的三角形背景色设置为transparent: