移动端项目注意

1、position:absolute: 定位的时候不同手机的浏览器版本不一样,存在兼容性问题,所以要修改为fixed,然后使用left: calc(50% - 1rem )进行定位;

2、event.touches[0].pageY:移动端事件touchstart,touchmove,touchend,在vue中的手指滑动的对象是要传入$event才可以使用event.touches[0].pageY等值;

3、返回顶部:根据touchend事件判断document.body.scrollTop的值是否大于1000来控制返回顶部按钮的显示和隐藏;

4、弹窗定位: postion: absolute; left: 50%; top: 50%; margin-top: -height/2; margin-left: -width/2;

5、localstorage:存储对象的时候存储的是字符串JSON.stringify(),取的时候是对象( JSON.parse() );

6、@input: 实时监听input中的值的时候,focus和blur都不能满足需求的时候可以使用input事件;

7、分享组件: (1)<a href="http://service.weibo.com/share/share.php?appkey=&title=&url=&searchPic=false&style=simple" target="_blank"><img src="/static/weibo.png" alt="wechat">分享到微博</a>;

8、左右滑动效果:的时候可以使用overflow-x:auto,但是在苹果手机上会有问题,解决兼容的方法是:-webkit-overflow-scrolling: touch;

9、移动端使用百度分享的时候:

created(){

window._bd_share_main && window._bd_share_main.init()

},

mounted(){

window._bd_share_main && window._bd_share_main.init()

},

否则百度分享会出现点击两次才出现分享按钮,同时在index.html做出相应的配置;

10、异步渲染: 在vue项目中的有时候由于异步的原因导致dom渲染问题,获取不到对应的节点,在使用this.$nextTick无效的情况,可以使用 setTimeout等待dom加载完成之后执行函数,不过不推荐,会有性能问题;

11、移动端H5实现上传图片:  http://javascript.ruanyifeng.com/htmlapi/file.html#toc0,推荐看一下这个,使用H5 API中的readAsDataURL,获取图片返回的base64编码data-uri对象。,然后去请求后台的返回图片路径,在处理图片显示的时候,会有两种选择: (1)不请求后台,直接渲染图片(2)base64请求后台,渲染图片,还有就是删除的时候要保持和数据库同步;

12、移动端不支持select,自己div模拟select下拉效果;

13、请求传参: 传递参数的时候是包含#的url的时候,后台可能不识别#,需要编码的可以使用encodeURI(),encodeURIComponent();

14、Hybrid: 和原生交互的时候,给IOS传递参数的时候,使用 window.location.href = "next://";那么IOS就可以接受到next这个参数;

15、导航钩子:判断离开一个路由的时候执行一个方法route1.beforeEach((to, from, next) => {

if( from.path == '/theme_detail' ){

console.log( 88888 )

}

next()

});

 export default route1

16、iphone5s不兼容display:flex:处理方法: display:-webkit-flex;-webkit-box; flex:1; -webkit-flex: 1;-webkit-box-flex:1;

17、原生和IOS交互的时候,IOS使用第三方库WebViewJavascriptBridge,原生调用js方法,在js中的时候使用方法: 一个js文件全局配置const BridgeMixin = {

methods: {

setupWebViewJavascriptBridge(callback) {

if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); }

if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }

window.WVJBCallbacks = [callback];

var WVJBIframe = document.createElement('iframe');

WVJBIframe.style.display = 'none';

WVJBIframe.src = 'https://__bridge_loaded__';

document.documentElement.appendChild(WVJBIframe);

setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)

}

}

}

export {

BridgeMixin

},然后在调用的页面, this.setupWebViewJavascriptBridge(function(bridge){

bridge.registerHandler('testJavascriptHandler', function(data, responseCallback) {

var responseData = { 'Javascript Says':'Right back atcha!' }

alert( data )

responseCallback(responseData)

};

18、当数据多的时候可以使用路由外面裹一层keep-alive,要加载router-view中,这样再次进入这个路由的时候就不会重新加载了,比如进入页面看到14行了,然后点击进入下一个页面,返回的时候直接定位是14行;

19、原生js实现滚动到顶部 

//document.body.scrollTop获取chrome等浏览器的scrollTop,document.documentElement.scrollTop获取IE浏览器的scrollTop

let x = document.body.scrollTop || document.documentElement.scrollTop;

let timer = setInterval(function(){

x = x - 10;

if( x < 100 )

{

x = 0;

window.scrollTo(x,x);

clearInterval(timer);

}

window.scrollTo( x, x );

},"10");

20、如何把build的项目在本地跑起来,把config下面的index.js中的assetsPublicPath的都改为./

21、地址栏添加icon的时候因为是用的是webpack打包的所以这个icon要放在static文件下;

22、如何给网站添加站标: 在线生成ico站标,一般是16*16,将制作好的站标命名为favicon.ico,放在项目根目录,然后在首页的<head></head>标签内添加

<link rel="shortcut icon" href="/favicon.ico" />

<link rel="bookmark"href="/favicon.ico" />

23、在自定义组件中使用这些受限制的元素时会导致一些问题,例如:

...

自定义组件  被认为是无效的内容,因此在渲染的时候会导致错误。 变通的方案是使用特殊的 is 属性:

24、vue设置请求头的时候:

Vue.http.interceptors.push((request, next) =>{

request.headers.set('loginCode', this.loginCode);

next((response) => {

return response

});

});

25、插件开发: 声明插件-> 写插件-> 注册插件 —> 使用插件

26、Vue.mixin({//这里的代码会在每个组件(包括根组件)的created执行之前 执行

created: function () {

console.log("组件开始加载")

}

}),也就是这个的代码的执行循序是在created方法之前的;

27、假如是写给例如methods属性的某个方法,组件里若本身有test方法,并不会先执行插件的test方法,再执行组件的test方法,而是只执行其中一个,并且优先执行组件本身的同名方法.这点需要注意

28、想获取子组件的值是通过自定义事件获取的,子组件this.$emit(eventName, params),父组件监听事件获取参数v-on:eventName=eventName,eventName(params){console.log(params)},

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • 1、position:absolute: 定位的时候不同手机的浏览器版本不一样,存在兼容性问题,所以要修改为fix...
    瞳孔里的温柔你看得见不阅读 1,200评论 0 7
  • 使用Vue项目写了一个移动端项目,然后又把项目硬生生的抽离了组件,一直忙着写RN项目没有时间总结心得,今天上午终于...
    冇得感情阅读 953评论 0 2
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,395评论 0 26
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,421评论 1 45
  • 在"向上吧,少年"从书发现简书,出于求知马上注册了一个帐号。记录下来
    红豆的迷失阅读 146评论 0 0