@nativescript/template-master-detail-ts
用于显示 JSON 集合中项目集合的 Master-Detail 界面,并检查和编辑所选项目属性。
npm i --save @nativescript/template-master-detail-ts

NativeScript Core 与 TypeScript Master Detail 模板

应用模板可以帮助您使用内置 UI 元素和最佳实践快速启动本地跨平台应用。在创建新应用时,节省重复编写样板代码的时间。

此 Master-Detail 模板是任何需要显示对象集合及其详细信息并在在线和离线模式下工作的应用的基石。模板使用 RadListView 组件显示主列表。RadListView 组件是 Progress NativeScript UI 的一部分。

关键特性

  • 可编辑的 Master-Detail 界面
  • 与 Firebase 数据库集成
  • 离线工作
  • 可自定义主题
  • 用户体验和开发最佳实践
  • 易于理解的代码

快速入门

执行以下命令以从模板创建应用

ns create my-master-detail-ts --template @nativescript/template-master-detail-ts

注意:此命令将创建一个新的 NativeScript 应用程序,该应用程序使用最新版本的此模板在 npm 上发布。

如果您想创建一个使用模板的 main 分支源的新应用,您可以执行以下操作

# clone nativescript-app-templates monorepo locally
git clone [email protected]:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-master-detail-ts --template nativescript-app-templates/packages/template-master-detail-ts

注意:请注意,主分支可能引用尚未在 NPM 上提供的依赖项!

教程

架构

应用程序根模块位于

  • /app/app-root - 设置一个 Frame,让您在页面之间导航。

模板有以下页面模块

  • /app/cars/cars-list-page - 主列表页面。获取数据并在列表中显示它。在项目上点击时,它导航到项目详细信息页面。
  • /app/cars/car-detail-page/car-detail-page - 项目详细信息页面。显示点击的项目详细信息。有一个 编辑 按钮,可导航到编辑页面。
  • /app/cars/car-detail-edit-page/car-detail-edit-page - 项目详细信息编辑页面。为所选项目提供编辑选项。点击 完成 按钮保存更改。

有一个模型来表示数据项

  • /app/cars/shared/car-model

模板还提供数据服务

  • /app/cars/shared/car-service - 作为主-详细信息数据项的数据层。封装用于对数据库进行操作的函数。

Firebase 集成

模板使用 {N} Firebase 插件。初始化在 /app.ts 文件中在应用程序启动之前完成。初始化脚本位于 /shared/firebase.common.ts

[可选] Firebase 数据库设置

按照设计,应用程序连接到 Firebase 中的示例数据的只读副本。如果您想看到“编辑”功能的实际效果,您将不得不克隆示例数据,并将应用程序配置更新为指向您自己的 Firebase 设置。有关如何实现此操作的详细说明,请参阅 此处

样式

此模板已设置为使用SASS进行样式设置。所有使用的类都基于{n}核心主题 - 咨询文档以了解如何自定义它。

它包含3个全局样式文件,位于应用文件夹的根目录

  • /app/_app-common.scss - 全局通用样式表。这些样式规则应用于Android和iOS。
  • /app/app.android.scss - 全局Android样式表。这些样式规则仅应用于Android。
  • /app/app.ios.scss - 全局iOS样式表。这些样式规则仅应用于iOS。

每个组件在其文件夹中都有3个样式文件

  • ../_{page-name}-common.scss - 组件通用样式表。这些样式规则应用于Android和iOS。
  • ../{page-name}.android.scss - 组件Android样式表。这些样式规则仅应用于Android。
  • ../{page-name}.ios.scss - 组件iOS样式表。这些样式规则仅应用于iOS。

获取帮助

当您遇到问题时,NativeScript框架有一个充满活力的社区可以提供帮助。

尝试加入NativeScript社区Discord。Discord频道是解决故障的好地方,您可以在这里得到帮助,还可以与其他NativeScript开发者建立联系。

如果您在此模板中发现了问题,请通过NativeScript仓库报告问题。

贡献

我们喜爱Pull Requests,并乐意接受。随时提出更改和新想法。我们将进行审查和讨论,以便它们可以被接受并更好地整合。