标签: ionic2

Ionic 2 Android Production Build加载非常慢

我已经完成了Android的Ionic 2应用程序.

为了测试我生成了我的构建:

cordova build android
Run Code Online (Sandbox Code Playgroud)

这些APK可以使用,但设备就绪事件需要很长时间才能触发.没问题.

不,我建立了制作APK:

cordova build --release android
Run Code Online (Sandbox Code Playgroud)

设备就绪事件仍然只在几秒钟后发生.我希望在生产版本中不会出现这种情况.

ionic run android --prod
Run Code Online (Sandbox Code Playgroud)

这会创建一个用于调试的构建,在此构建中,设备就绪事件会非常快速地触发.但构建称为app-debug.apk.

如何构建快速加载的生产构建?

ionic-framework ionic2

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

如何在角度2中仅等待一定时间才能获得HTTP请求(GET/POST)的响应?

如何只等待一定时间才能获得角度为2的HTTP请求(GET/POST)响应,否则会破坏HTTP请求?

我一看timeoutsetTimeInterval功能,但那些没有突破规定的时限内HTTP请求.

基本上,我想要做的是打破HTTP请求(无论是获取还是发布),如果它在5秒内没有得到响应.

http observable ionic-framework ionic2 angular

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

如果变量{{image}}为空,则定义默认图像

我的<img>:

<img width="90" height="90"  src="{{image}}" />
Run Code Online (Sandbox Code Playgroud)

默认图像文件夹: assets/img/pic_user.png

如何定义未在变量中定义的默认图像:{{image}}

typescript ionic2 angular2-template angular

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

当我们进行离子状态恢复,保存,清除和重置时,实际发生了什么?

当我们执行以下ionic state命令时,项目实际发生了什么 ?

  • restore
  • save
  • clear
  • reset

在什么样的情况下我们需要使用它们?

我搜索了这个,但没有找到任何适当的答案细节.

我感谢您的帮助.

android ios ionic-framework ionic2 ionic-cli

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

延迟从Ionic 2存储中检索数据

在我启动应用程序之前,如果有任何可用的用户数据,我将检查本地存储,如果是,我将导航到主页,否则登录页面.

在这里,我无法检索存储的数据,请输入任何输入...

目前正在使用Ionic 2 SQlite插件.

注意:在浏览器中它工作正常,但在Android设备上它无法正常工作.

app.component.ts:检查用户数据

loadUser() {
        this.userSettings.getUser().then(user => {
            this.userObj = JSON.stringify(user);
            if (user) {
                console.log('App : ', this.userObj);
                this.nav.setRoot(HomePage,this.userObj);

            } else {
                console.log('App : No user data');
                this.rootPage = LoginPage;
            }

        });

    }
Run Code Online (Sandbox Code Playgroud)

login.ts:保存用户数据

this.userSettings.addUser(
                            userData.employeeCode,
                            userData.password,
                            userData.role
                        );
Run Code Online (Sandbox Code Playgroud)

user-settings.ts:提供程序中的存储文件

getUser() {
        if (this.sql) {
            return this.sql.get('user').then(value => value);
        } else {
            return new Promise(resolve =>                 resolve(this.storage.get('user').then(value => value)));
        }
}

addUser(employeeCode, password, role) {
        let item = { employeeCode: employeeCode, password: password, role: role }; …
Run Code Online (Sandbox Code Playgroud)

local-storage ionic2

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

单击ionic2后如何禁用按钮?

在此代码中,我尝试在单击Ionic 2后禁用按钮

<button ion-button icon-only icon-left (click)="AddMarker()" ng-disabled="clicked" color="light"><ion-icon name="locate" ></ion-icon> </button>
Run Code Online (Sandbox Code Playgroud)

但它仍然是相同的,当点击该功能正在调用.

我加上这个

typescript ionic2 angular

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

Angular 2 - 从promise内部返回HTTP

在我的api服务中的每个http调用之前,我想检查我的本地存储以获取访问令牌,然后在我拥有它之后进行调用.看起来像这样

read(endpoint,params?) {

    var url: string = this.authService.apiUrl + endpoint, 
        headers: Headers = new Headers(),
        queryString: URLSearchParams = new URLSearchParams();

    this.sessionService.getToken()
      .then((value) => {

        queryString.set('access_token', value);

        headers.append('Content-Type', 'application/json; charset=utf-8');

        return this.http.get(url,{
          headers: headers, 
          search: queryString
        })
        .map(res => res.json())

      });


  }
Run Code Online (Sandbox Code Playgroud)

在我的组件中我会有类似的东西

  getData() {
    this.apiService.read('some endpoint')
      .subscribe(
        res => console.log(res),
        error => this.logError(error)
      )
  }
Run Code Online (Sandbox Code Playgroud)

这是有效的,直到我检查本地存储后将http调用放在.then内.所以我认为它现在嵌套不正确.

对此进行评估的正确方法是什么?在这个设置中,是否有更有效的方法可以从本地存储中获取令牌?注意:我正在使用Ionic 2,它有自己的功能来检查返回承诺的本地存储.

任何建议都会很棒.

谢谢.

javascript ionic2 angular

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

如何在Ionic2中添加用户定义的图标?

我是Ionic 2的新手,我想使用我自己的图标/图像切片(就像我在原生android中的drawable文件夹中放置的那些).就像在列表视图中一样,我想添加一个图标和一些文本.我无处可找到这样的例子.任何帮助将非常感激.

ionic2

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

具有授权标头的离子http请求

我正在向服务器发送get请求,它需要JWT令牌进行身份验证.然而,Ionic坚持要做一个pref-etch请求,没有一个并且崩溃.(还有没有办法捕获非200个响应?服务器提供了很多这些响应(例如403 {message:Account Invalid}))

auth.ts

import { Headers, RequestOptions } from '@angular/http'
import 'rxjs/add/operator/toPromise';
...
export const getToken = function(http){
    return new Promise((resolve, reject) => {
        let headers = new Headers();
        headers.append('Content-Type', 'application/x-www-form-urlencoded');
        headers.append('Authorization', 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU4Yzg1MmI1YmQ1NjE1MGJkMDAxZWEzNyIsImlhdCI6MTQ4OTY3ODE0NywiZXhwIjoxNDg5NjgxNzQ3fQ.zUWvBnHXbgW20bE65tKe3icFWYW6WKIK6STAe0w7wC4');
        let options = new RequestOptions({headers: headers});
        http.get('//localhost:3000/auth/users', {headers: options})
        .toPromise()
        .then(res => resolve(res))
        .catch(err => console.log(err));
    });
}
Run Code Online (Sandbox Code Playgroud)

Chrome控制台:

Response for preflight has invalid HTTP status code 401
Run Code Online (Sandbox Code Playgroud)

服务器看到:(我注销了请求,没有标题或正文)

OPTIONS /auth/users 401 25.613 ms - -
Run Code Online (Sandbox Code Playgroud)

angularjs typescript ionic2

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

我在哪里更改ionic2中的ios捆绑包标识符?

我尝试更改我的angular2和ionic2应用程序中的包标识符。在ionic1中有一个config.xml与

<widget id="com.bundle.identifier" version="2.0" ...>
Run Code Online (Sandbox Code Playgroud)

在里面。我在ionic2的哪里找到?

ionic2 angular

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