我在页面模板(Ionic 2)中使用 *ngFor 。
<div class="child" *ngFor="let child of sharedParams.children">
...
</div>
Run Code Online (Sandbox Code Playgroud)
在应用程序内部的某个地方,我会在检测到更改(添加、更新、删除)时更新 children 数组。我这样做是为该属性分配一个新数组:
export class SharedParams {
private _children: Child[];
constructor(children: Child[]){
this._children = children;
}
get children(){
return this._children;
}
set children(children: Child[]){
this._children = children;
}
}
Run Code Online (Sandbox Code Playgroud)
当在数组中添加或更新项目时,会触发 ngFor 并更新 DOM。然而,当一个项目被移除时,数组会改变,但 DOM 不会移除该项目的条目。
我还尝试使用“push”和“splice”手动修改数组而不是替换它。但行为保持名称。当一个项目被移除时,DOM 永远不会更新。
任何帮助将不胜感激。
从底部(Ionic2 Modal)向外和向下的侧面菜单或向上滑动模式盒的动画非常快速和平滑.
现在我为浮动动作按钮定义了自己的动画.这个动画比离子动画要慢很多.有什么不同?
为什么我的动画有点滞后?
animations: [
trigger('heroState', [
state('false', style({
right: '-500px',
})),
state('true', style({
right: '0px',
})),
transition('false => true', animate('500ms ease-in')),
transition('true => false', animate('500ms ease-out'))
])
],
Run Code Online (Sandbox Code Playgroud) 我正在使用Mozilla PDF Viewer在Ionic 2中构建PDF查看器,但遇到了问题.我pdf.js按照这些说明建造了.生成的代码包括以下行:
GET http://localhost:8100/build/main.worker.js
Chrome在这一行上抱怨无法找到该文件pdf.worker.js.
现在,我之前没有遇到过网络工作者,所以我不确定这个错误意味着什么,或者在哪里找到或构建这个文件.我注意到构建过程也会产生一个名为的文件main.worker.js,我怀疑这可能是它之后的文件,尽管将其重命名为pdf.js无效.
如果你知道的话,我相信这是一个非常简单的问题.我错过了什么?
好的,经过多一点挖掘,我发现这更符合我的情况.我正在使用Ionic 2,我不知道如何生成此行中引用的文件:
GET http://localhost:8100/build/main.worker.js
任何人都可以照亮我的黑暗心灵吗?
根据这个答案如何在rxjs中返回一个空的observable我已经尝试了所有它但它对我不起作用
这是我的代码
post(url):Observalbe<any>{
if(this.holder.nullConnection()){ //checking internet connection
//return empty observalbe
return Observable.empty() ;
}else{
return this.http.post(this.configurator.restServerBaseUrl+url,data)
.map((result:Response)=> {
return result.json()
})
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几乎所有的答案,你可以看到上面的堆栈问题任何帮助返回一个空洞的想法.
如果按下菜单中的按钮,如何关闭打开的FAB菜单?
这是我的按钮.
<ion-fab bottom center >
<button ion-fab><b>Hello</b></button>
<ion-fab-list side="top">
<button ion-fab (click)="refresh()"><ion-icon name="refresh"></ion-icon></button>
Run Code Online (Sandbox Code Playgroud)
refresh为了让整个FAB关闭,我需要添加什么?我可以以某种方式从代码中引用html对象吗?类似于iOS处理它的出口的方式?
我搜索了许多论坛,问题,在doc但找不到正确的解决方案.
使用angularfire2增加值的最佳方法是什么?
我看到我们可以使用[transaction()] []但实际上并不适用于angularfire2.还是快照?
user.service.ts
incrementLike(userToIncrementLike){
this.af.database.object('users/' + userToIncrementLike.uid).subscribe((userObject) => {
var newUser = {
likes: userObject.likes + 1
};
});
this.af.database.object('users/' + userToIncrementLike.uid).update(newUser);
}
Run Code Online (Sandbox Code Playgroud)
我也试过这种方式:
incrementLike(userToIncrementLike){
let obs = this.af.database.object('users/' + userToIncrementLike.uid);
obs.subscribe((snapshot) => {
let newValue = (snapshot.$value) ? (snapshot.$value + 1) : 1;
obs.set(newValue);
});
}
Run Code Online (Sandbox Code Playgroud)
非常感谢你的帮助和提示:)路易斯.
我在我的Ionic 2应用程序中使用推送插件.现在我想使用自定义声音文件.
我在我的有效载荷中发送文件名:
options = {data: {title: "Title", body: 'Body.', soundname: 'soundfile'}}
Run Code Online (Sandbox Code Playgroud)
但现在我不知道将声音文件放在我的Ionic项目中的哪个位置.
我应该把它放入res/raw.但这是在我的平台文件夹中吗?有人能告诉我从根目录开始的正确路径吗?
幻灯片我有这样的HTML
<ion-slides [pager]="false" slidesPerView="6" #slider_a>
<ion-slide *ngFor="let slide of items_a " #ddd>
<ion-card class="list-card" >
<div class="cardInnerWrap">
<ion-item>
{{slide.gameTitle}}
</ion-item>
<img src="{{slide.gameImage}}">
</div>
</ion-card>
</ion-slide>
</ion-slides>
<ion-slides [pager]="false" slidesPerView="6" #slider_b>
<ion-slide *ngFor="let slide of items_b " #ddd>
<ion-card class="list-card" >
<div class="cardInnerWrap">
<ion-item>
{{slide.gameTitle}}
</ion-item>
<img src="{{slide.gameImage}}">
</div>
</ion-card>
</ion-slide>
</ion-slides>
Run Code Online (Sandbox Code Playgroud)
它在移动设备上工作.问题是当我在Firefox中拖动幻灯片2时(也在Chrome中),幻灯片1也被拖动了.不能单独拖动幻灯片2.如何在离子2中制作2个完全独立的滑块,可在浏览器中使用
我有一个Ionic 2应用程序.该应用程序的前提是上课.打开一个类后,用户将被标记为在远程API中使用此类.
数据流是:
NavController.push(Page, { 'classes': classObjFromApi });.classes传递了对象.NavController.popToRoot()在根页面上显示每个类的状态('未启动','正在进行','已完成').在上面的流程中的第5点,用户被带回到根,但是它具有来自最初构建时的数据,这表示该类为"未启动",即使它现在已经"完成".
如何从堆栈中的其他页面更新根页面上的数据?我原以为popToRoot()会接受navParams所以我可以检查根页中是否存在该数据,如果存在则使用它,如果不存在则请求API.
我可以通过从ionViewDidEnter方法上的API重新请求数据来解决这个问题,但这意味着每次用户查看此页面时都会发出API/HTTP请求,即使应用程序具有数据.看起来很乱.
如果我能帮助它,我宁愿不使用内部存储,因为它在加载页面时会产生延迟,因为我必须等待数据在显示之前从存储中提取.
所以我的问题是:最好的方法是什么?如果要将数据传递给视图,如果popToRoot()不支持nav params ,我该怎么做?
在这里我面临着一个与ion-col相关的问题,我将我的动态数据绑定到离子行并在离子列中显示数据,这里表格很大,它正在切断,下面不稳定的宽度是我的鳕鱼
<ion-grid class="contnr">
<ion-row style="" class="grid-head">
<ion-col width-40>
Transaction
</ion-col>
<ion-col width-40>
Count
</ion-col>
<ion-col width-40 >
Overall Gross Amount
</ion-col>
<ion-col width-40 >
Overall Disc
</ion-col>
<ion-col width-40>
Overall Tax
</ion-col >
<ion-col width-40>
Overall ServiceTax
</ion-col>
<ion-col width-40>
Overall Charge
</ion-col>
<ion-col width-40>
Overall Net
</ion-col>
</ion-row>
<ion-row *ngFor="let value of resultData" style="background:#eff0f1" class="cont-rows">
<ion-col width-40>
{{value.TransacType}}
</ion-col>
<ion-col width-40>
{{value.Transactions}}
</ion-col>
<ion-col width-40>
{{value.Count}}
</ion-col>
<ion-col width-40>
{{value.OverallSales}}
</ion-col>
<ion-col width-40>
{{value.Discount}}
</ion-col>
<ion-col width-40>
{{value.OverallTax}}
</ion-col> …Run Code Online (Sandbox Code Playgroud) ionic2 ×10
angular ×9
ionic3 ×3
typescript ×3
android ×1
angularfire2 ×1
cordova ×1
firebase ×1
javascript ×1
observable ×1
pdf ×1
pdf.js ×1