北京网站设计外包公司价格,禁止wordpress保存修订版,720全景网站怎么做,卓企做的网站怎么样目录
1 - 生命周期
1.1 - 应用生命周期
1.2 - 页面生命周期
2 - 资源限定与访问
2.1 - 资源限定词
2.2 - 资源限定词的命名要求
2.3 - 限定词与设备状态的匹配规则
2.4 - 引用JS模块内resources资源
3 - 多语言支持
3.1 - 定…目录
1 - 生命周期
1.1 - 应用生命周期
1.2 - 页面生命周期
2 - 资源限定与访问
2.1 - 资源限定词
2.2 - 资源限定词的命名要求
2.3 - 限定词与设备状态的匹配规则
2.4 - 引用JS模块内resources资源
3 - 多语言支持
3.1 - 定义资源文件
3.2 - 引用资源 1 - 生命周期
1.1 - 应用生命周期
在app.js中可以定义如下应用生命周期函数
属性类型描述触发时机onCreate() void应用创建当应用创建时调用。onShow6() void应用处于前台当应用处于前台时触发。onHide6() void应用处于后台当应用处于后台时触发。onDestroy() void应用销毁当应用退出时触发。
1.2 - 页面生命周期
在页面JS文件中可以定义如下页面生命周期函数
属性类型描述触发时机onInit() void页面初始化页面数据初始化完成时触发只触发一次。onReady() void页面创建完成页面创建完成时触发只触发一次。onShow() void页面显示页面显示时触发。onHide() void页面消失页面消失时触发。onDestroy() void页面销毁页面销毁时触发。onBackPress() boolean返回按钮动作 当用户点击返回按钮时触发。 - 返回true表示页面自己处理返回逻辑。 - 返回false表示使用默认的返回逻辑。 - 不返回值会作为false处理。 onActive()5() void页面激活页面激活时触发。onInactive()5() void页面暂停页面暂停时触发。onNewRequest()5() voidFA重新请求FA已经启动时收到新的请求后触发。
页面A的生命周期接口的调用顺序 打开页面AonInit() - onReady() - onShow() 在页面A打开页面BonHide() 从页面B返回页面AonShow() 退出页面AonBackPress() - onHide() - onDestroy() 页面隐藏到后台运行onInactive() - onHide() 页面从后台运行恢复到前台onShow() - onActive() 2 - 资源限定与访问
2.1 - 资源限定词
资源限定词可以由一个或多个表征应用场景或设备特征的限定词组合而成包括屏幕密度等维度限定词之间通过中划线-连接。在resources目录下创建限定词文件时需要掌握限定词文件的命名要求以及与限定词文件与设备状态的匹配规则。
2.2 - 资源限定词的命名要求 限定词的组合顺序屏幕密度。开发者可以根据应用的使用场景和设备特征选择其中的一类或几类限定词组成目录名称顺序不可颠倒。 限定词的连接方式限定词之间均采用中划线-连接。例如res-dark-ldpi.json 。 限定词的取值范围每类限定词的取值必须符合下表的条件否则将无法匹配目录中的资源文件限定词大小写敏感。 限定词前缀resources资源文件的资源限定词有前缀res例如res-ldpi.json。 默认资源限定文件resources资源文件的默认资源限定文件为res-defaults.json。 资源限定文件中不支持使用枚举格式的颜色来设置资源。 表1 资源限定词 类型含义与取值说明屏幕密度 表示设备的屏幕密度单位为dpi取值如下 - sdpi表示低密度屏幕~120dpi0.75基准密度 - mdpi表示中密度屏幕~160dpi基准密度 - ldpi表示高密度屏幕~240dpi1.5基准密度 - xhdpi表示加高密度屏幕~320dpi2.0基准密度 - xxhdpi表示超超高密度屏幕~480dpi3.0基准密度 - xxxhdpi表示超超超高密度屏幕~640dpi4.0基准密度
2.3 - 限定词与设备状态的匹配规则 在为设备匹配对应的资源文件时限定词目录匹配的优先级从高到低依次为MCC和MNC 横竖屏 深色模式 设备类型 屏幕密度。在资源限定词目录均未匹配的情况下则匹配默认资源限定文件。 如果限定词目录中包含资源限定词则对应限定词的取值必须与当前的设备状态完全一致该目录才能够参与设备的资源匹配。例如资源限定文件res-hdpi.json与当前设备密度xhdpi无法匹配。
2.4 - 引用JS模块内resources资源
在应用开发的hml和js文件中使用$r的语法可以对JS模块内的resources目录下的json资源进行格式化获取相应的资源内容该目录与pages目录同级。
属性类型描述$r(key: string) string 获取资源限定下具体的资源内容。例如$r(strings.hello)。 参数说明 - key定义在资源限定文件中的键值如strings.hello。
res-defaults.json示例
{strings: { hello: hello world }
}
3 - 多语言支持
基于开发框架的应用会覆盖多个国家和地区开发框架支持多语言能力后可以让应用开发者无需开发多个不同语言的版本就可以同时支持多种语言的切换为项目维护带来便利。
3.1 - 定义资源文件
资源文件用于存放应用在多种语言场景下的资源内容开发框架使用JSON文件保存资源定义。在文件组织中指定的i18n文件夹内放置语言资源文件其中语言资源文件的命名是由语言、文字、国家或地区的限定词通过中划线连接组成其中文字和国家或地区可以省略如zh-Hant-HK(中国香港地区使用的繁体中文)、zh-CN(中国使用的简体中文)、zh(中文)。命名规则如下
language[-script-region].json
限定词的取值需符合下表要求。 表1 限定词取值要求 限定词类型含义与取值说明语言表示设备使用的语言类型由2~3个小写字母组成。例如zh表示中文en表示英语mai表示迈蒂利语。文字表示设备使用的文字类型由1个大写字母(首字母)和3个小写字母组成。例如Hans表示简体中文Hant表示繁体中文。国家或地区表示用户所在的国家或地区由2~3个大写字母或者3个数字组成。例如CN表示中国GB表示英国。
当开发框架无法在应用中找到系统语言的资源文件时默认使用en-US.json中的资源内容。
资源文件内容格式如下
en-US.json
{strings: {hello: Hello world!,object: Object parameter substitution-{name},array: Array type parameter substitution-{0},symbol: #$%^*()_-{}[]\\|:;\,./?},files: {image: image/en_picture.PNG}
}
由于不同语言针对单复数有不同的匹配规则在资源文件中使用“zero”“one”“two”“few”“many”“other”定义不同单复数场景下的词条内容。例如中文不区分单复数仅存在“other”场景英文存在“one”、“other”场景阿拉伯语存在上述6种场景。
以en-US.json和ar-AE.json为例资源文件内容格式如下
en-US.json
{strings: {people: {one: one person,other: {count} people}}
}
ar-AE.json
{strings: {people: {zero: لا أحد,one: وحده,two: اثنان,few: ستة اشخاص,many: خمسون شخص,other: مائة شخص}}
}
3.2 - 引用资源
在应用开发的页面中使用多语言的语法包含简单格式化和单复数格式化两种都可以在hml或js中使用。 简单格式化方法 在应用中使用$t方法引用资源$t既可以在hml中使用也可以在js中使用。系统将根据当前语言环境和指定的资源路径(通过$t的path参数设置)显示对应语言的资源文件中的内容。 表2 简单格式化 属性类型必填描述$tFunction是根据系统语言完成简单的替换this.$t(strings.hello) 表3 $t参数说明 参数类型必填描述pathstring是资源路径paramsArrayObject否 运行时用来替换占位符的实际内容占位符分为两种 - 具名占位符例如{name}。实际内容必须用Object类型指定例如$t(strings.object, {name:Hello world})。 - 数字占位符例如{0}。实际内容必须用Array类型指定例如$t(strings.array, [Hello world]
简单格式化示例代码
!-- test.hml --
div!-- 不使用占位符text中显示“Hello world!” --text{{ $t(strings.hello) }}/text!-- 具名占位符格式运行时将占位符{name}替换为“Hello world” --text{{ $t(strings.object, { name: Hello world }) }}/text!-- 数字占位符格式运行时将占位符{0}替换为“Hello world” --text{{ $t(strings.array, [Hello world]) }}/text!-- 先在js中获取资源内容再在text中显示“Hello world” --text{{ hello }}/text!-- 先在js中获取资源内容并将占位符{name}替换为“Hello world”再在text中显示“Object parameter substitution-Hello world” --text{{ replaceObject }}/text!-- 先在js中获取资源内容并将占位符{0}替换为“Hello world”再在text中显示“Array type parameter substitution-Hello world” --text{{ replaceArray }}/text!-- 获取图片路径 --image src{{ $t(files.image) }} classimage/image!-- 先在js中获取图片路径再在image中显示图片 --image src{{ replaceSrc }} classimage/image
/div
// test.js
// 下面为在js文件中的使用方法。
export default {data: {hello: ,replaceObject: ,replaceArray: ,replaceSrc: ,},onInit() {this.hello this.$t(strings.hello);this.replaceObject this.$t(strings.object, { name: Hello world });this.replaceArray this.$t(strings.array, [Hello world]);this.replaceSrc this.$t(files.image);},
}
单复数格式化方法 表4 单复数格式化 属性类型必填描述$tcFunction是 根据系统语言完成单复数替换this.$tc(strings.people) 说明 定义资源的内容通过json格式的key为“zero”、“one”、“two”、“few”、“many”和“other”区分。 表5 $tc参数说明 参数类型必填描述pathstring是资源路径countnumber是要表达的值
单复数格式化示例代码
!--test.hml--
div!-- 传递数值为0时 0 people 阿拉伯语中此处匹配key为zero的词条--text{{ $tc(strings.people, 0) }}/text!-- 传递数值为1时 one person 阿拉伯语中此处匹配key为one的词条--text{{ $tc(strings.people, 1) }}/text!-- 传递数值为2时 2 people 阿拉伯语中此处匹配key为two的词条--text{{ $tc(strings.people, 2) }}/text!-- 传递数值为6时 6 people 阿拉伯语中此处匹配key为few的词条--text{{ $tc(strings.people, 6) }}/text!-- 传递数值为50时 50 people 阿拉伯语中此处匹配key为many的词条--text{{ $tc(strings.people, 50) }}/text!-- 传递数值为100时 100 people 阿拉伯语中此处匹配key为other的词条--text{{ $tc(strings.people, 100) }}/text
/div 感谢各位大佬支持
互三啦