标签: ionic2

如何使用离子2 /角度2和打字稿设置firebase

从离子1过渡到离子2,并且很好奇如何import * as Firebase from 'somewhere/foo/';使用他们的打字稿示例设置像firebase这样的东西.

  1. bower是在离子2中安装js依赖项的标准方法,还是应该使用其他一些构建链/工具来添加像Firebase这样的东西?

  2. 我应该使用bower install来安装firebase库还是应该直接指向firebase cdn脚本源?

  3. 我应该使用typings来安装firebase打字稿定义吗?

这是firebase教程中的旧代码https://www.firebase.com/docs/web/libraries/ionic/guide.html

的index.html

<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

app.js

angular.module("starter", ["ionic", "firebase"])
Run Code Online (Sandbox Code Playgroud)

其中只包含对Firebase库的cdn引用.我们如何在离子2和打字稿中做到这一点

typescript ionic2 angular

6
推荐指数
1
解决办法
7376
查看次数

动画中的Angular 2动态值

我刚刚开始搞乱Ng2,现在我正在开发一个带有ionic2的应用程序.我是第一次进入动画部分,我遇到了一些问题.

我有一个基本上重复不同宽度的ng.数组中的每个元素都有自己的div的宽度值,该值是通过组件的onInit方法计算出来的.在动画之前,我通过绑定宽度[style.width]="expresson".文档说您可以使用'*'定义动画结束状态样式,这意味着它将从计算的样式中获得正确的值,但是当我以编程方式自己设置宽度时,这不起作用.

所以,问题是,我如何告诉动画在我改变宽度时触发,或动态设置结束状态的值?谢谢!

编辑:这是一个有例子的傻瓜.我将动画设置后的最终宽度设置为50%,但是我遇到的问题是将最终宽度设置为组件数组中定义的值.只需删除html中的@animation即可查看我想要的最终结果.

web-animations ionic2 angular

6
推荐指数
0
解决办法
2016
查看次数

更改颜色导航栏标题Ionic 2

我有这个问题...我的颜色现在是白色的,我的代码是这样的:

<ion-header >
  <ion-navbar>
    <ion-title>
      HELLO
    </ion-title>
  </ion-navbar>
</ion-header>
Run Code Online (Sandbox Code Playgroud)

使用此选项更改颜色很容易(主要,次要,危险,光线,黑暗)

<ion-header >
      <ion-navbar danger>
        <ion-title>
          HELLO
        </ion-title>
      </ion-navbar>
 </ion-header>
Run Code Online (Sandbox Code Playgroud)

但我的问题是当我想使用自定义颜色时.有人知道如何解决它?提前致谢.

最好的祝福.

css sass ionic-framework ionic2 ionic3

6
推荐指数
1
解决办法
2万
查看次数

未处理的Promise拒绝:push.on不是一个函数

我正在使用Ionic 2.

尝试设置推送通知时,我收到此Typescrpt 错误.我已从教程中复制了此示例代码,因此可以预期它可以正常工作.我一定有错.任何想法请:

Unhandled Promise rejection: push.on is not a function ; Zone: angular ; Task: Promise.then ; Value:
TypeError: push.on is not a function


push.on('registration', function (data) {
Run Code Online (Sandbox Code Playgroud)

打字稿

import { Push } from 'ionic-native';
Run Code Online (Sandbox Code Playgroud)

..

  pushNotifications(): void {

    var push = Push.init({
      android: {
        vibrate: true,
        sound: true,
        senderID: "xxxxxxxxxxxxxxxxxxx"
      },
      ios: {
        alert: "true",
        badge: true,
        sound: 'false'
      },
      windows: {}
    });

    push.on('registration', (data) => {
      console.log(data.registrationId);
      alert(data.registrationId.toString());
    });
    push.on('notification', (data) => {
      console.log(data);
      alert("Hi, …
Run Code Online (Sandbox Code Playgroud)

javascript typescript ionic-framework ionic2 angular

6
推荐指数
1
解决办法
1123
查看次数

如何在Ionic 2 TypeScript项目中包含外部Javascript库?

我使用Ionic 2,Angular 2和TypeScript构建了一个离子项目来测试框架.我需要在我的项目中包含一个外部库(ntc.js),因为我需要它来命名十六进制颜色.

我知道包含一个Javascript库到TypeScript应该工作,因为JS中的任何工作都适用于TS.我只是不想以错误的方式包含它.

我试图将库添加到www/build/js,但它似乎不起作用,它似乎不是这样做的好方法.我试图寻找方法来做到这一点,但没有发现任何东西(可能是因为Angular 2和Ionic 2仍然是新鲜的).

像 :

import * as ntc from '../../js/ntc';
Run Code Online (Sandbox Code Playgroud)

即使我的图书馆位于正确的地方,似乎也没有效果.TypeScript似乎没有正确读取我的文件,如果它完全读取它.

这样做的好方法是什么?我应该将我的.js文件放在我的项目目录中?

javascript ionic-framework ionic2 angular

6
推荐指数
1
解决办法
6114
查看次数

从控制器Ionic 2更改元素样式

我的代码:

document.querySelector(".myTabs .line")[0].style.left = '30%' ;
Run Code Online (Sandbox Code Playgroud)

我有错误

undefined不是一个对象(评估'document.querySelector(".myTabs .line")[0] .style')

我如何从控制器改变CSS风格?

ionic-framework ionic2 angular

6
推荐指数
1
解决办法
4362
查看次数

如何在遇到故障后允许我的HTTP请求继续通过我的应用程序传播?

我正在使用位于Angular 2顶部的Ionic 2.

我在我的应用程序中使用服务来处理所有API请求.其中一些请求带有Authorization标头.如果auth失败,我的API可以返回401,我正在通过向用户显示错误并将其导航到登录屏幕来处理它.这一切都很好,我发布了这些错误的事件,我订阅了其他地方处理逻辑(因为我不能在服务中使用导航控制器).

api.js服务代码:

@Injectable()
export class Api {
  base_url: string = 'https://***.com';
  url: string = this.base_url + '/api/v1';
  authurl: string = this.base_url + '/oauth/token';
  grant_type: string = 'password';
  client_id: string = '1';
  client_secret: string = '***';
  access_token: string;

  constructor(
    public http: Http, 
    private storage: Storage,
    public events: Events) {

    // Grab access token and store it
    storage.get('access_token').then((val) => {
      this.access_token = val;
    });
  }

  // Performs a GET request with auth headers
  get(endpoint: string, params?: any) { …
Run Code Online (Sandbox Code Playgroud)

scope typescript ionic-framework ionic2 angular

6
推荐指数
1
解决办法
76
查看次数

防止在不需要键盘显示的输入上使用scrollAssist和autoFocus

我使用Ionic 2构建了一个Angular Reactive Form.

当我触摸页面底部的输入时,页面将滚动,因此输入位于键盘上方.预期的行为,好吧.但是标题也是推,这是错误的.

所以我在互联网上查找了一个解决方法,即在app.module.ts的import语句中编写以下内容

// app.module    
IonicModule.forRoot(MyApp, {
   scrollAssist: true,
   autoFocusAssist: true
})
Run Code Online (Sandbox Code Playgroud)

这确实很有效,因为页面仍然滚动,标题不会被推开.

但我还有一个问题.当我触摸不需要显示键盘的输入(例如,datepicker)时,页面在第一次触摸时滚动,我必须再次触摸,以便日期选择器打开...

关于我怎么可能的任何想法可能会阻止页面在触摸不需要键盘的输入时自动滚动?

ionic2 ionic2-datetime

6
推荐指数
1
解决办法
1125
查看次数

离子无限滚动与自定义内容

我想像这样在离子无限内显示自定义加载器

 <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
    <spinner [color]="'white'"></spinner>
  </ion-infinite-scroll>
Run Code Online (Sandbox Code Playgroud)

但问题是旋转器总是可见的,因为我看到无限滚动具有属性,state并且它的离子无限滚动内容的修改属性设置状态属性,并且有隐藏它的css.

我的问题是,任何身体都做过任何自定义微调器或只有自定义微调器的方法是使用css类吗?

所以基本上它看起来像这样

在此输入图像描述

ionic2 angular

6
推荐指数
1
解决办法
533
查看次数

在.ts文件中使用ngx-translate

我想在sidemenu标题中使用翻译,我阅读本教程并将其解决为:

translate.get('HOME').subscribe(res => {

this.pages= [
 {title: res ,                  component: HomePage},
 {title: 'My Account',               component: MyAccountPage},
 {title: 'Changer Pass' , component: ChangePasswordPage}
]
Run Code Online (Sandbox Code Playgroud)

它有效,但问题是我想从翻译文件中获得许多标题,将它们设置为sidemenu标题.

typescript ionic2 ionic3 angular

6
推荐指数
1
解决办法
4989
查看次数