用对象项填充 listView 的正确方法?

2024-03-05

在我的 NativeScript 项目中,我尝试使用自定义对象(定义为接口)的实例填充 ListView。但输出(在 Android 模拟器上)非常奇怪:我在多行中生成了“[object object ... object]”,而不是按照我的定义获取每个实例名称内容。

这是我的 component.ts :

import {Component} from "@angular/core";

interface FileItem {
    isDirectory:boolean;
    name:String;
}

@Component({
    moduleId: module.id,
    selector: 'file-explorer',
    templateUrl: 'component.html',
    styleUrls: ['component.css']
})
export class FileExplorerComponent {
    public fileItems:Array<FileItem>;

    constructor(){
        this.fileItems = [
            {isDirectory: false, name:'ex03.fen'},
            {isDirectory: true, name:'test06'},
            {isDirectory: true, name:'test01'},
            {isDirectory: false, name:'ex02.fen'},
            {isDirectory: true, name:'test05'},
            {isDirectory: true, name:'test02'},
            {isDirectory: false, name:'ex01.fen'},
            {isDirectory: false, name:'ex05.fen'},
            {isDirectory: false, name:'ex03.fen'},
            {isDirectory: true, name:'test04'},
            {isDirectory: true, name:'test03'},
            {isDirectory: false, name:'ex04.fen'},
        ]
    }
}

这是我的 component.html:

<ListView items={{fileItems}}>
    <ListView.itemTemplate>
        <Label width="5%" height="5%" text="Type"></Label>
        <Label text="{{name}}"></Label>
    </ListView.itemTemplate>
</ListView>

这是我的组件.css:

Label {
    color: navy;
    font-size: 20em;
}

所有这些文件都是单个组件的一部分,在其自己的文件夹中定义

这是我的 package.json :

{
    "description": "NativeScript Application",
    "license": "SEE LICENSE IN LICENSE.md",
    "readme": "Chess Positions Archiver",
    "repository": "<fill-your-repository-here>",
    "nativescript": {
        "id":   "com.loloof64.nativescript.chess_positions_archiver.ChessPositionsArchiver ",
        "tns-android": {
            "version": "2.0.0"
        }
    },
    "dependencies": {
        "@angular/common": "2.0.0-rc.1",
        "@angular/compiler": "2.0.0-rc.1",
        "@angular/core": "2.0.0-rc.1",
        "@angular/http": "2.0.0-rc.1",
        "@angular/platform-browser": "2.0.0-rc.1",
        "@angular/platform-browser-dynamic": "2.0.0-rc.1",
        "@angular/platform-server": "2.0.0-rc.1",
        "@angular/router": "2.0.0-rc.1",
        "@angular/router-deprecated": "2.0.0-rc.1",
        "@angular/upgrade": "2.0.0-rc.1",
        "nativescript-angular": "0.1.6",
        "nativescript-intl": "^0.0.2",
        "parse5": "1.4.2",
        "punycode": "1.3.2",
        "querystring": "0.2.0",
        "reflect-metadata": "^0.1.3",
        "rxjs": "5.0.0-beta.6",
        "tns-core-modules": "^2.0.0",
        "url": "0.10.3",
        "zone.js": "^0.6.12"
    },
    "devDependencies": {
        "babel-traverse": "6.9.0",
        "babel-types": "6.9.1",
        "babylon": "6.8.0",
        "filewalker": "0.1.2",
        "lazy": "1.0.11",
        "nativescript-dev-typescript": "^0.3.2",
        "typescript": "^1.8.10"
    }
}

我使用的是nativeScript 2.0.1


使用 NativeScript + Angular-2 列表视图时需要以下语法:

<ListView [items]="fileItems">
    <template let-myitem="item">
        <StackLayout>
            <Label width="5%" height="5%" text="Type"></Label>
            <Label [text]="myitem.name"></Label>
        </StackLayout>
    </template>
</ListView>

为了更好地理解,您可以参考sample-Groceries Angular-end分支here https://github.com/NativeScript/sample-Groceries/tree/angular-end/app/pages/list

并查看有关 NativeScript + Angular-2 ListView 的教程here http://docs.nativescript.org/angular/tutorial/ng-chapter-4#43-listview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用对象项填充 listView 的正确方法? 的相关文章

  • 如何在 PercentRelativeLayout 中使用layout_aspectRatio?

    我尝试在视图上实现 16 9 的纵横比PercentRelativeLayout https developer android com reference android support percent PercentRelativeLa
  • Android Activity 重新创建自身

    我的应用程序通常运行得很好 直到我在特定设备上遇到奇怪的问题 App中有2个活动 当我在 ActivityA 内启动 ActivityB 后 ActivityA 启动时没有问题 但是 当我通过按下硬件按钮或调用 finish 返回 Acti
  • 411 需要内容长度

    我正在尝试使用 Android Apache HttpClient 执行 POST 但它返回错误 411 Content Length required 这是代码 HttpClient httpClient new DefaultHttpC
  • 我的手机设备上的 adb shell:出现奇怪的字符(终端颜色问题)

    我有一台配备 DarkyRom 10 4 2 XWJW1 Android 2 3 6 和 root 访问权限的 Samsung Galaxy S 我正在实现一个应用程序 我想使用 eclipse 在手机中执行它 但出现错误 Activity
  • Android - 在通知栏中使用外部个人资料图像,如 Facebook

    我知道您可以在推送通知参数中发送信息 例如消息 标题 图像 URL 等 Facebook 如何在通知区域中显示您的个人资料图片和消息 我想在通知区域中使用外部图像 因此当您将其下拉时 您会看到带有消息的个人资料图像 现在 我的仅显示可绘制文
  • 使用动画来滑动视图

    我有一个可以识别滑动手势 向上和向下 的 FrameLayout 例如 如果执行向上滑动 我应该对当前视图 即 MATCH PARENT x MATCH PARENT 进行动画处理 使其向上移动 同时新视图来自底部 我可以用动画来实现这一点
  • Room - LiveData 观察器在数据库更新时不会触发

    我试图在下面的代码中找出 为什么在我用新数据填充数据库后 Room 的 LiveData observable 不会给我新的转变 这是放在我的活动的 onCreate 方法中 shiftsViewModel ViewModelProvide
  • 通过拖动块来选择多个项目

    首先 让我告诉你 我对此感到压力很大 因为我什至不知道概念 方法名称 所以我什至无法在谷歌中搜索它 因为我不知道关键字 但我会尝试我的最好解释一下 请随意修改我的内容和标题 我想要实现的是 我的视图组包含许多子视图 或者它可以是 GridV
  • 迭代 Sqlite-query 中的行

    我有一个表布局 我想用数据库查询的结果填充它 我使用全选 查询返回四行数据 我使用此代码来填充表行内的 TextView Cursor c null c dh getAlternative2 startManagingCursor c th
  • Kotlin 协程阻塞 Android 中的主线程

    我是 Kotlin 和协程的新手 我有一个fun在我的活动及其内部 检查User用户名和密码 如果为真 则返回Users object 一切都好 但是当我按下按钮时 我的活动被阻止并等待响应Users login 我用这个有趣的 priva
  • Android Studio 3.0 - 设置未保存

    我已将 文件 gt 设置 gt 编辑器 gt 代码样式 中的 右边距 列 从默认的 100 增加到 140 不幸的是 每次重新启动 Android Studio 后 该边距都会重置 我还尝试导出和导入我的设置 但这并不能阻止重置右边距 希望
  • BaseAdapter:将 hasStableIds() 设置为 false?

    我有一个ListView使用的子类BaseAdapter 适配器使用项目索引 位置 作为 id 因此 id 不稳定 底层数据的操作之一是在两个数据项之间交换 我需要在我的适配器中覆盖吗hasStableIds to return false
  • 如何在打开导航抽屉时使背景 Activity 变小?

    我想做我的背景Activity打开时稍微小一点Navigation Drawer 模拟存在的效果Airbnb应用 我想最好的解释是截图 但重点不是让 View 变小 而是让它成为与 Drawer 打开 关闭动画同步的动画 因此 如果您开始打
  • 什么是“多重”启动模式?

    On http developer android com guide topics manifest activity element html http developer android com guide topics manife
  • 如何创建克隆重复视图?

    在我的 Android 应用程序中 我想创建重复的ImageButton已经创建的Imagebutton 我想创造新的Imagebutton以编程方式与 XML 文件中已创建的按钮具有相同的宽度 高度 背景 图像源 边距等 简而言之 我想创
  • AAR 可以包含传递依赖吗? [复制]

    这个问题在这里已经有答案了 现在我有一个库项目 比如项目 Foo 它依赖于像 OkHttp 这样的库 现在 Foo 有一个 Maven 构建步骤 可以生成 AAR 并将其推送到公共位置 现在假设我有项目 B 我们将其称为 Bar Bar是一
  • 膨胀类 android.support.design.internal.BottomNavigationView 时出错

    我正在制作我的第一个应用程序 这是一个简单的应用程序 带有启动屏幕和主要活动 现在我有两个构建变体 免费版本 活动底部有 Admob 横幅 付费版本 该应用程序不会在底部显示 admob 横幅 而是将其替换为用于切换活动的底部导航视图 我将
  • 没有 Google Play 服务的设备的后备计划是什么

    目前 我正在将以前使用 jar 库的 Google 服务迁移到 Google Play 服务 谷歌广告移动 谷歌分析 谷歌云端硬盘 然而 在迁移指南中 Google 没有提到对于没有 Google Play 服务或没有最新的 Google
  • 如何在给定的纬度和经度处使用标记/覆盖项目启动地图意图?

    我有一个纬度和经度 我想打开以该点为中心的谷歌地图 所以我使用以下代码 Intent intent new Intent android content Intent ACTION VIEW Uri parse geo lat lng st
  • 使用 Arduino 来操作 Android [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人尝试过让 Android 和 Arduino 相互通信吗 我在网上找到了几个项目 Amarino http www amarino tool

随机推荐

  • Pandas DataFrame 列命名约定

    有没有常用的 Pandas DataFrame 列命名约定 是PEP8 https www python org dev peps pep 0008 在这里推荐 例如实例变量 意识到大量数据是从带有标题的外部源加载的 但我很好奇当我必须自己
  • 使用 R 文本挖掘包保留土耳其语字符

    首先我要说的是 我仍然是 R 的初学者 目前 我正在使用 tm 包尝试土耳其语文本的基本文本挖掘技术 然而 我在 R 中显示土耳其语字符时遇到了问题 这就是我所做的 docs lt VCorpus DirSource DIRECTORY e
  • Cordova / Phonegap:实时更新代码库

    我们将 Cordova 与 AngularJS 一起用于 iOS 和 Android 应用程序 iOS 的一大缺点是 Apple 的审核时间较长 在 Google 的 Playstore 中 您的应用程序几乎可以立即或在几个小时内可用 但苹
  • 可以信任第三方主机进行闭源/私有源代码管理吗? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 对于许多公司来说 他们项目的源代码对他们来说非常有价值 窃取源代码可能会造成非常高昂的代价 在本地网络上严格控制源代码是帮助保护源代码
  • npm 依赖冲突

    我正在使用 Vue 开发一个项目 我运行 Vue Cli 并添加了 Typescript 插件 我有几个弱点 当我跑步时npm audit fix它无法解决依赖冲突 npm ERR code ERESOLVE npm ERR ERESOLV
  • Airflow连接密码解密

    我想解密气流连接的密码 从连接表中获取值 有什么方法可以解密密码值 你可以做 from airflow hooks base hook import BaseHook connection BaseHook get connection c
  • Material-ui 芯片 - 拖放支持

    我想用材料 UI 芯片 https material ui com demos chips 在我的反应应用程序中 问题是我想通过拖放来移动芯片 不支持此功能material ui 是否有解决方法 扩展来使芯片可拖动 如果没有其他办法的话 我
  • Android 库项目作为 jar 文件进行分发,例如 google Analytics

    我见过this https stackoverflow com questions 5014128 create an android jar library for distribution问题 并且对创建一个我可以分发并可以在任何 An
  • 按天自动分区 - PostgreSQL

    我想做一个日常分区 我知道oracle是这样的 CREATE TABLE PUBLIC TEST ID NUMBER 38 0 NOT NULL ENABLE SOME FIELD VARCHAR2 20 BYTE NOT NULL ENA
  • Puppeteer:如何聆听特定的回应?

    我正在修补名为的无头 chrome 节点 apipuppeteer 我想知道如何听取特定的请求响应以及如何采取行动 我已经查看了事件requestfinish and response但它给了我all页面中已执行的请求 响应 我怎样才能实现
  • 意图在android中拍摄视频

    我需要仅使用前置摄像头从我的应用程序中拍摄视频 我正在使用意图来执行此操作 Intent intent new Intent MediaStore ACTION VIDEO CAPTURE intent putExtra MediaStor
  • 在 JBehave Web 中运行 FirefoxWebDriverProvider 时如何更改浏览器窗口的大小

    我们正在使用 JBehave Web 来驱动新项目的 selenium 测试套件 并且非常喜欢 JBehave 上提供的 Etsy com 示例 尤其是 Java Spring maven 原型 因为这适合我们的架构 到目前为止最大的问题是
  • 如何将表转储到控制台?

    我在显示包含嵌套表 n 深 的表的内容时遇到问题 我想通过 a 将它转储到标准输出或控制台print声明或一些快速而肮脏的东西 但我不知道如何 我正在寻找打印时得到的粗略等价物NSDictionary使用gdb 如果需求是 又快又脏 我发现
  • 无法导入名称“BlockBlobService”

    我收到以下错误 from azure storage blob import BlockBlobService ImportError cannot import name BlockBlobService 当尝试使用命令提示符运行我的 p
  • MongoDB $lookup 值返回数组

    我有一个包含多个项目的文档 需要从另一个集合中查找更多信息来填写数据 主要文件 id ObjectID 5a30ff41af58f911946b122e SalesItems SalesItemID 1139 Quantity 2 Amou
  • 为 C++ 多维类指针创建初始化和删除函数

    我创建了一个类并使用多维指针 如下所示 variable v mod v mod new variable 3 for int i 0 i lt 3 i v mod i new variable n 并在使用后删除指针 for int i
  • 如何更改最新发布的 Visual Studio Code 中的默认浏览器?

    正如标题所说 默认浏览器是IE 但我想使用其他浏览器 我该怎么办 您可以将 Windows 默认设置程序更改为您的浏览器 Windows 7的 控制面板 gt 程序 gt 设置默认程序
  • 从 DLL 导出静态 lib 符号

    我正在将 Facade DLL 用于静态库 Dll 提供了一个小型接口和资源管理 可以在多个 DLL 之间共享 Dll Header 确实公开了静态库中的内容 class DLL EXPORT MyDllClass public OneSt
  • Android 通知 FCM 与简单拉取

    对于我的 Android 应用程序 我需要从服务器接收一些通知 通知的时间要求并不严格 当用户打开应用程序时检查新通知就足够了 因此根本没有后台活动 我注意到 建议使用 FCM Firebase Cloud Messaging 之类的服务来
  • 用对象项填充 listView 的正确方法?

    在我的 NativeScript 项目中 我尝试使用自定义对象 定义为接口 的实例填充 ListView 但输出 在 Android 模拟器上 非常奇怪 我在多行中生成了 object object object 而不是按照我的定义获取每个