ionic内联模板 ionic3还在用吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ionic内联模板 ionic3还在用吗?相关的知识,希望对你有一定的参考价值。

参考技术A 一.ionic中路由管理介绍:
在单页应用中,路由的管理是很重要的环节。ionic.js没有使用AngularJS内置的ng-route路由,而是选择了AngularUI项目的ui-router模块。
ui-router的核心理念是将子视图集合抽象为一个状态机,导航意味着状态的切换。在不同的状态下,ionic.js渲染对应的子视图(动态加载的html片段)就实现了路由导航的功能。
二.ionic中内联模板介绍
HTML中常用的script标签在AngularJS中被重新定义了:除了原本的脚本声明功能之外,如果script元素的type属性定义为text/ng-template,则被称为内联模板。
内联模板在单页应用(SAP)开发中非常有用。SAP应用通常需要通过AJAX从后台载入众多的HTML片段。这些HTML片段都用文件存放的话,看起来会非常杂乱。使用内联模块,就可以把这些零散的HTML片段模板都集中在一个文件里,维护和开发的感觉都会好很多。
AngularJS在编译时会将内联模板的id属性值和其内容,分别作为key和value,存入$templateCache管理的hash表中。
内联模板的使用,常见的有几种情况:
使用ng-include指令
可以利用ng-include指令在HTML中直接使用内联模板,例如:
<div ng-include="'a.html'"></div>
注意:其中a..html是一个字符串常量,需要使用单引号包裹起来。
使用$templateCache服务
也可以直接使用$templateCache服务的方法get()从模板缓存中读出其内容:
var partial=$templateCache.get("a.html")

*ngFor 模板 Ionic 2 中的对象 [重复]

【中文标题】*ngFor 模板 Ionic 2 中的对象 [重复]【英文标题】:*ngFor Object in template Ionic 2 [duplicate] 【发布时间】:2018-01-07 04:48:53 【问题描述】:

我有对象:

messages = [
    'One' : [
        'id' : 1,
        'id' : 2,
    ],
    'Two' : [
        'id' : 1,
        'id' : 2,
    ]
] ;

我已经尝试了下面的代码,但没有运行,请告诉我哪里做错了。

<div *ngFor="let message of messages">
    <div>KEY</div>
    <div *ngFor="let value of message">VALUE</div>
</div>

在代码中我需要显示 KEY 和 VALUE

我的解决方案

在组件中:

this.messages = data['messages'] ;
this.keys = Object.keys(data['messages']);

在视图中:

<div *ngFor="let key of keys">
    <div>key</div>
    <div *ngFor="let message of messages[key]">message['id']</div>
</div>

【问题讨论】:

NgFor 只支持绑定到数组等Iterables 【参考方案1】:

您可以使用How to iterate [object object] using *ngFor in Angular 2 中所示的管道

<div *ngFor="let message of messages">
    <div>KEY</div>
    <div *ngFor="let key of message | keys">message[key]</div>
</div>

【讨论】:

你是对的,我很抱歉。我可能是昏迷了【参考方案2】:

如果您不想创建管道,您可以公开Object.keys,就像在this SO-answer 中一样。

您的组件:

@Component(
    ...
)
export class YourComponent
    objectKeys: any = Object.keys;
    messages: Array<any>;

    constructor()

    ...

HTML:

<div *ngFor="let message of messages">
    <div *ngFor="let key of objectKeys(message)">
        <div>KEY:  key </div>
        <div *ngFor="let val of message[key]"> val.id </div>
    </div>
</div>

输出:

KEY: One
1
2
KEY: Two
1
2

【讨论】:

以上是关于ionic内联模板 ionic3还在用吗?的主要内容,如果未能解决你的问题,请参考以下文章

ionic 踩过的坑

您可以将内联 base64 编码图像添加到 Mandrill 模板吗?

何时可以/将在 C++ 中内联函数?可以强制内联行为吗?

使用内联 CSS 为组件设计样式 - Ionic2、AngularJS

Ionic 1.3 - iOS 10 beta 6 不能内联播放 mp4 视频

在 Ionic/Phonegap 中内联播放视频(webkit-playsinline 不工作)