据说,90%以上的开发者都想知道这些问题的答案
想了解更多内容,据说请访问:
和华为官方合作共建的想知鸿蒙技术社区
https://harmonyos.51cto.com
在开发HarmonyOS应用时,你是道问答案否也遇到过翻遍资料也找不到答案的困扰?
没关系,本期我们将为大家带来开发者呼声最高的据说16个问题答疑,涵盖FA开发和UI组件,想知有原理有代码,道问答案让你快速get到解决方案。据说
赶紧往下看,想知一起来学习学习吧~
一、道问答案FA开发篇
Q1:在JS开发中,据说一个文件如何使用定义在其他文件中的想知变量?
A: 在开发过程中,有时候为了代码清晰,道问答案会新建一个文件,据说定义一个变量,想知把某个数据很大的道问答案常量数组独立到该新建文件中,其他文件有需要的时候可以使用到该数据。那么究竟应该如何使用?
举个例子,我们新建一个data.js的文件,定义一个data1的变量存储数据。
若我们需要使用到data.js中的data1变量,首先需要将data1变量导出:
在data.js文件末尾加上如下代码:
export { data1 }接着在需要使用该数据的香港云服务器文件头中导入data.js文件,假设此时是user.js需要使用data1数据,那么我们在user.js的文件头中导入data.js文件,代码如下:
import data from ../../common/js/data.js在user.js文件中使用data.data1就可使用data1变量了。
Q2:在JS开发中,如何控制块元素的横纵向排列?
A: 如果想在JS中实现块元素的纵向排列,需要给父元素设置flex-direction:column;如果想在JS中实现块元素的横向排列,需要给父元素设置flex-direction:row。通常容器组件flex-direction样式的缺省值为row,即默认为横向排列。
Q3:在JS开发中,如何控制一个元素显示或隐藏?
A: 在JS中,如果想要动态控制某个元素的显示或隐藏,可以为元素添加show属性,并为这个属性绑定js变量;若将变量值设为true,即可控制元素显示,设为false,则控制元素隐藏,示例代码如下:
<div class="container" show="{ { flag}}">Q4:为什么export的JS模块在别的JS文件中import时,会出现修改不生效的情况呢?
A: 在JS开发中,亿华云开发者可能会遇到这样的情况,某个变量在模块1中,被模块2 import并使用了,但是修改模块1中的这个变量,模块2中并没有生效这个修改的情况。这是由于HarmonyOS JS UI框架的import是静态import,即编译过程会把互相依赖的文件合并以提高运行效率。如果一个JS模块被多个文件import,则会在不同的文件中分别生成变量。
如果是要共享使用某个变量,使之变化在各模块中都能生效,建议在app.js里声明变量,并通过**getApp()**全局方法去获取该对象。
Q5:FA卡片如何动态更换图片?
A: 开发者可以通过调用setImageContent接口实现FA卡片图片的动态更换。但使用setImageContent接口设置图片时,涉及到资源id,需要在/base/profile中新建remote.xml配置文件,内容如下: