APP——uniAPP 中ifdef #ifndef #endif 的用法,可以处理平台的兼容性

Deadly 提交于 2020-03-12 17:21:42

1.#ifdef #ifndef #endif三者的意思

#ifdef 仅在某个平台上使用
#ifndef 在除了这个平台的其他平台上使用(非此平台使用)
#endif 结束条件编译

#ifde

2.平台标识的意思

标识 平台
APP-PLUS 5+App
MP 微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序
MP-WEIXIN 微信小程序
MP-ALIPAY 支付宝小程序
MP-BAIDU 百度小程序
MP-TOUTIAO 头条小程序
MP-QQ QQ小程序
H5 H5
APP-PLUS-NVUE 5+App nvue

 

 

 

 

 

 

 

 

2.结合使用列子

例子1(仅在5+app平台上此代码生效)

/*
	可以使用// 或者 <!-- -->
*/
// #ifdef APP-PLUS
 <view>仅在5+app平台上显示代码</view>
// #endif

methods: {
	// #ifdef APP-PLUS
	click(){
		console.log('仅在5+app平台上生效的事件')
	},
	// #endif
}

例子2(非5+app平台上此代码生效)

/*
	可以使用// 或者 <!-- -->
*/
<!-- #ifndef APP-PLUS -->
 <view>只要不是5+app平台上此代码会显示</view>
<!-- #endif -->

methods: {
	<!-- #ifndef APP-PLUS -->
	click(){
		console.log('非5+app平台上生效的事件')
	},
	<!-- #endif -->
}

例子3 css 中使用

// 除H5以外的平台使用
.box{
 /* #ifndef H5 */
  position: fixed;
  top: 0;
  left: 0;
  /* #endif*/
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!