@nativescript/template-master-detail
用于显示从 JSON 集合中收集的项目以及检查和编辑选中项目属性的 Master-detail 界面。
npm i --save @nativescript/template-master-detail

NativeScript 核心主从应用模板

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

此 Master-Detail 模板是任何需要显示对象集合及其详细信息,同时在在线和离线模式下工作并使用 Firebase 作为后端的应用的基本构建模块。该模板使用 RadListView 组件来显示主列表。RadListView 组件是 Progress NativeScript UI 的一部分。

主要功能

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

快速开始

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

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

注意:此命令将创建一个使用发布到 npm 的最新版本的此模板的新 NativeScript 应用。

如果您想创建一个使用来自 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-js --template nativescript-app-templates/packages/template-master-detail

注意:请注意,主分支可能引用尚未在 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/app.js 文件中完成。初始化脚本位于 /app/shared/firebase.common.js

[可选] 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仓库中报告问题。

贡献

我们热爱PR,并乐意接受。请随意提出更改和新想法。我们将进行审查和讨论,以便它们被接受并更好地集成。