Nativescript radListView 不显示项目
Nativescript radListView do not show Item
概览
Nativescript radListView 不在 ios 和 android os 上显示来自组件的绑定项。
操作栏和通常的 ListView 显示数据,但 radlistview 不显示数据。
控制台显示没有错误。
但是我看到下一个代表的 RadListViewository 可以工作 -> https://github.com/telerik/nativescript-ui-samples-angular
环境
我的开发环境如下
os: macOS 塞拉利昂 10.12.6
节点:v6.12.0
npm:3.10.10
在package.json
之后可以看到nativescript和其他的
考虑
我好像这个问题是关于这些...
但我无法细化。
- angular 指令
- 正在初始化一个可观察数组
代码
我在 angular 上实现了 RadListView,如下所示,就在 'tns create ui-test --ng' 之后。
组件
export class ItemsComponent implements OnInit {
private _dataItems: ObservableArray<Item>;
constructor() {
}
get dataItems(): ObservableArray<Item> {
return this._dataItems;
}
ngOnInit() {
this._dataItems = new ObservableArray([
{ id: 1, name: "Ter Stegen", role: "Goalkeeper" },
{ id: 3, name: "Piqué", role: "Defender" },
{ id: 4, name: "I. Rakitic", role: "Midfielder" }
]);
}
}
html
<ActionBar title="My App" class="action-bar">
</ActionBar>
<GridLayout>
<RadListView [items]="dataItems">
<ng-template let-item="item">
<StackLayout>
<Label class="nameLabel" text="text"></Label>
<Label class="nameLabel" [text]="item.name"></Label>
<Label class="descriptionLabel" [text]="item.role"></Label>
</StackLayout>
</ng-template>
</RadListView>
</GridLayout>
package.json
{
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "NativeScript Application",
"repository": "<fill-your-repository-here>",
"nativescript": {
"id": "org.nativescript.uitest",
"tns-ios": {
"version": "3.3.0"
}
},
"dependencies": {
"@angular/common": "~5.0.0",
"@angular/compiler": "~5.0.0",
"@angular/core": "~5.0.0",
"@angular/forms": "~5.0.0",
"@angular/http": "~5.0.0",
"@angular/platform-browser": "~5.0.0",
"@angular/platform-browser-dynamic": "~5.0.0",
"@angular/router": "~5.0.0",
"nativescript-angular": "5.0.0",
"nativescript-fresco": "^3.0.2",
"nativescript-intl": "^3.0.0",
"nativescript-pro-ui": "3.3.0",
"nativescript-unit-test-runner": "^0.3.2",
"rxjs": "^5.5.2",
"tns-core-modules": "3.4.0",
"zone.js": "~0.8.2"
},
"devDependencies": {
"nativescript-dev-typescript": "~0.5.0",
"typescript": "~2.4.2"
}
}
您是否尝试过 _dataItems
而不是 dataItems
?看起来您已经定义了一个 itemsource 并在 RadListView.
中没有 _
引用它
我自己解决了。
RadListView 需要 getter 和 ObservableArray 实现,并正确 html 编码。
我没有填写行之类的参数。
但是我不明白如何用好radListView。
现在我遇到了另一个 GridLayout 的 radListView 布局的麻烦。
我确实得到了你的代码并输入了 home.component
在 tns create uitest --ng 之后
然后 tns 插件添加 nativescript-ui-listview
tns 平台删除 android
tns 平台添加 android
tns build android
tns 运行 android
如果您没有忘记在 home.module.ts 中导入此模块,它会起作用:
NativeScriptUIListViewModule
import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptCommonModule } from "nativescript-angular/common";
import { NativeScriptUIListViewModule } from "nativescript-ui-listview/angular";
import { HomeRoutingModule } from "./home-routing.module";
import { HomeComponent } from "./home.component";
@NgModule({
imports: [
NativeScriptCommonModule,
HomeRoutingModule,
NativeScriptUIListViewModule
],
declarations: [
HomeComponent
],
schemas: [
NO_ERRORS_SCHEMA
]
})
export class HomeModule { }
用这个item.model.ts
export class Item {
id: number;
name:string;
role: string;
}
重要
在另一个项目中,直到我在 app.module.ts
中添加这些行后它才起作用
import { NativeScriptUIListViewModule } from "nativescript-ui-listview/angular/listview-directives";
@NgModule({
imports: [
...
NativeScriptUIListViewModule
概览
Nativescript radListView 不在 ios 和 android os 上显示来自组件的绑定项。
操作栏和通常的 ListView 显示数据,但 radlistview 不显示数据。
控制台显示没有错误。
但是我看到下一个代表的 RadListViewository 可以工作 -> https://github.com/telerik/nativescript-ui-samples-angular
环境
我的开发环境如下
os: macOS 塞拉利昂 10.12.6
节点:v6.12.0
npm:3.10.10
在package.json
考虑
我好像这个问题是关于这些...
但我无法细化。
- angular 指令
- 正在初始化一个可观察数组
代码
我在 angular 上实现了 RadListView,如下所示,就在 'tns create ui-test --ng' 之后。
组件
export class ItemsComponent implements OnInit {
private _dataItems: ObservableArray<Item>;
constructor() {
}
get dataItems(): ObservableArray<Item> {
return this._dataItems;
}
ngOnInit() {
this._dataItems = new ObservableArray([
{ id: 1, name: "Ter Stegen", role: "Goalkeeper" },
{ id: 3, name: "Piqué", role: "Defender" },
{ id: 4, name: "I. Rakitic", role: "Midfielder" }
]);
}
}
html
<ActionBar title="My App" class="action-bar">
</ActionBar>
<GridLayout>
<RadListView [items]="dataItems">
<ng-template let-item="item">
<StackLayout>
<Label class="nameLabel" text="text"></Label>
<Label class="nameLabel" [text]="item.name"></Label>
<Label class="descriptionLabel" [text]="item.role"></Label>
</StackLayout>
</ng-template>
</RadListView>
</GridLayout>
package.json
{
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "NativeScript Application",
"repository": "<fill-your-repository-here>",
"nativescript": {
"id": "org.nativescript.uitest",
"tns-ios": {
"version": "3.3.0"
}
},
"dependencies": {
"@angular/common": "~5.0.0",
"@angular/compiler": "~5.0.0",
"@angular/core": "~5.0.0",
"@angular/forms": "~5.0.0",
"@angular/http": "~5.0.0",
"@angular/platform-browser": "~5.0.0",
"@angular/platform-browser-dynamic": "~5.0.0",
"@angular/router": "~5.0.0",
"nativescript-angular": "5.0.0",
"nativescript-fresco": "^3.0.2",
"nativescript-intl": "^3.0.0",
"nativescript-pro-ui": "3.3.0",
"nativescript-unit-test-runner": "^0.3.2",
"rxjs": "^5.5.2",
"tns-core-modules": "3.4.0",
"zone.js": "~0.8.2"
},
"devDependencies": {
"nativescript-dev-typescript": "~0.5.0",
"typescript": "~2.4.2"
}
}
您是否尝试过 _dataItems
而不是 dataItems
?看起来您已经定义了一个 itemsource 并在 RadListView.
_
引用它
我自己解决了。 RadListView 需要 getter 和 ObservableArray 实现,并正确 html 编码。 我没有填写行之类的参数。
但是我不明白如何用好radListView。 现在我遇到了另一个 GridLayout 的 radListView 布局的麻烦。
我确实得到了你的代码并输入了 home.component 在 tns create uitest --ng 之后 然后 tns 插件添加 nativescript-ui-listview tns 平台删除 android tns 平台添加 android tns build android tns 运行 android
如果您没有忘记在 home.module.ts 中导入此模块,它会起作用: NativeScriptUIListViewModule
import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptCommonModule } from "nativescript-angular/common";
import { NativeScriptUIListViewModule } from "nativescript-ui-listview/angular";
import { HomeRoutingModule } from "./home-routing.module";
import { HomeComponent } from "./home.component";
@NgModule({
imports: [
NativeScriptCommonModule,
HomeRoutingModule,
NativeScriptUIListViewModule
],
declarations: [
HomeComponent
],
schemas: [
NO_ERRORS_SCHEMA
]
})
export class HomeModule { }
用这个item.model.ts
export class Item {
id: number;
name:string;
role: string;
}
重要
在另一个项目中,直到我在 app.module.ts
中添加这些行后它才起作用import { NativeScriptUIListViewModule } from "nativescript-ui-listview/angular/listview-directives";
@NgModule({
imports: [
...
NativeScriptUIListViewModule