标签: ionic-framework

每当打开/显示视图时运行控制器功能

我正在构建一个带有角度+离子的应用程序,它使用底部带有三个离子标签的经典三键菜单.当用户单击选项卡时,该模板将通过ui-router打开.

我有这样的州:

$stateProvider
  .state('other', {
    url: "/other",
    abstract: true,
    templateUrl: "templates/other/other.html"
})
Run Code Online (Sandbox Code Playgroud)

在模板中我做了类似的事情:

<ion-nav-view name="other" ng-init="doSomething()"></ion-nav-view>
Run Code Online (Sandbox Code Playgroud)

我知道我可以在我的控制器中编写doSomething()函数,并在那里手动调用它.这给了我同样的问题.当有人打开那个视图时,我似乎无法弄清楚如何不止一次调用doSomething()函数.

现在,doSomething()函数被调用得很好,但只是第一次用户打开视图/选项卡.每当用户打开该视图或选项卡时,我想调用一个函数(更新地理位置).

实现这一目标的正确方法是什么?

谢谢你的帮助!

angularjs ionic-framework

79
推荐指数
6
解决办法
11万
查看次数

错误:在Ionic 3中找不到org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25

在为Android构建Ionic 3应用程序时,突然出现以下错误。

Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25
Run Code Online (Sandbox Code Playgroud)

我们已经从Android Studio中的一个解决方案在这里,但我在我的build.gradle没有变化用下面的代码后,我仍然得到错误。

buildscript {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }
}

allprojects {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }
}
Run Code Online (Sandbox Code Playgroud)

更新Cordova并添加上述解决方案后,我的build.gradle文件如下所示。

buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

    dependencies {
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        classpath 'com.android.tools.build:gradle:3.3.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url …
Run Code Online (Sandbox Code Playgroud)

android cordova build.gradle ionic-framework ionic3

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

如何使用Ionic Framework进行Web App开发?

是否可以将离子frameowork用于常规Web应用程序而不是将其包装在Cordova中?

mobile web-applications hybrid-mobile-app ionic-framework

75
推荐指数
3
解决办法
5万
查看次数

运行npm时找不到npm-cli.js

通常我可以使用npm安装库但是今天安装yeoman时我遇到了这个错误.请帮助弄清楚是什么原因.

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
Run Code Online (Sandbox Code Playgroud)

我查看了文件夹:

C:\ Program Files \nodejs \node_modules \npm\bin \

但是没有看到node_modules文件夹作为描述的错误.

我也试着找到npm-cli.js,看看它实际上是在C:\Program Files\nodejs\node_modules\npm\bin\

node.js npm yeoman ionic-framework

75
推荐指数
14
解决办法
13万
查看次数

下载Gradle时,Ionic构建Android错误

我是Ionic框架的新手:)

>npm install -g cordova
>npm install -g ionic
>ionic start test blank
>cd test
>ionic platform add android
Run Code Online (Sandbox Code Playgroud)

当我使用' >ionic build android'开始下载gradle,但我无法下载并收到错误.

是什么导致了这个错误,我该如何修复它?!

我下载Gradle并将其安装在PC上,但它想再次下载.我可以离线将Gradle添加到项目中吗?

C:\Users\LENOVO2014\test>ionic build android
running cordova build android
Running command: "C:\Program Files\nodejs\node.exe" C:\Users\LENOVO2014\myApp\ho
oks\after_prepare\010_add_platform_class.js C:\Users\LENOVO2014\myApp
add to body class: platform-android
Running command: C:\Users\LENOVO2014\myApp\platforms\android\cordova\build.bat
ANDROID_HOME=D:\program\Programing\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_31
Running: C:\Users\LENOVO2014\myApp\platforms\android\gradlew cdvBuildDebug -b C:
\Users\LENOVO2014\myApp\platforms\android\build.gradle -Dorg.gradle.daemon=true
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
................................................................................
................................................................................
................................................................................
............................................
Exception in thread "main" java.lang.RuntimeException: java.net.SocketException:
 Connection reset
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:78)
        at org.gradle.wrapper.Install.createDist(Install.java:47)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
        at …
Run Code Online (Sandbox Code Playgroud)

java android build gradle ionic-framework

71
推荐指数
7
解决办法
8万
查看次数

多个dex文件定义Lorg/apache/cordova/BuildHelper

我从昨天开始遇到麻烦了.在我的实习中,我遇到了以下构建错误,但我无法理解为什么:

$ cordova build android

[...]

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lorg/apache/cordova/BuildHelper;

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.379 secs
Error: /home/thor/Projects/App_CDP/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: …
Run Code Online (Sandbox Code Playgroud)

android build cordova ionic-framework

71
推荐指数
5
解决办法
3万
查看次数

为什么给一个"抽象:真实"状态的网址?

我今天正试图用ui-router来试图更好地理解Ionic中的脚手架,我注意到的一件事是他们给了抽象状态的"标签"一个网址.

我曾经使用抽象状态的唯一一次,我使用空字符串作为url,我注意到如果我偶然尝试导航到抽象状态(而不是子状态),我会得到错误:

无法过渡到抽象状态'[insertAbstractStateHere]'

编辑:

"而且,在实验中,当我尝试将一个网址分配给我的抽象状态(离开Ionic)并仍然呈现嵌套状态视图时,我得到一个大鹅蛋.根本没有任何东西出现."

上面引用的陈述是假的!我在Plunker再试一次,嵌套状态确实出现了.

 angular.module('routingExperiments', ['ui.router'])
      .config(function($urlRouterProvider, $stateProvider) {

    $stateProvider

      .state('abstractExperiment', {
        abstract: true,
        url: '', //<--- seems as if any string can go here.
        templateUrl: 'abstractExperiment.html'
      })
      .state('abstractExperiment.test1', {
        url: '/test1',
        templateUrl: 'abstractTest1.html'
      });
  });
Run Code Online (Sandbox Code Playgroud)

显然我确实做错了.所以我的新问题是:

在采用抽象状态时,有没有理由使用命名状态而不是空字符串,或者它只是一种风格选择?

state abstract angularjs angular-ui-router ionic-framework

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

Ionic/Cordova App中的身份验证

首先,我不是专业人士.

在我成为更好的开发人员的过程中,我正在努力了解需要什么,以及如何为Ionic-Framework应用程序创建注册/登录.

大多数单页面应用程序(SPA)在节点服务器上处理身份验证,该服务器也为客户端提供HTML.在我的情况下,手机本身将提供HTML,所以我猜我可能会遇到一些COR问题.

我知道Ionic-Framework使用状态和基于angular-client-side-auth repo我应该在我改变应用程序中的状态时进行身份验证.

我有一个初始的应用程序设置但现在我有点困惑从这里去.

我拥有的工具:

  • Node.JS Server -Thanks DigitalOcean(我应该使用它作为我的数据库的代理吗?)
  • CouchDB服务器(我们来这里是完整堆栈)

我的问题:

  1. 使用混合应用程序时进行身份验证的标准方法是什么?
  2. 我应该使用Node.JS作为数据库的代理吗?
  3. 我应该跳过node.js并直接使用CouchDB服务器进行身份验证吗?(我听说过这个)
  4. 我是怎么回事呢?
  5. 我的潜在障碍是什么?
  6. CORS如何与混合应用程序配合使用?
  7. 我缺少什么?

感谢您帮助我成为更好的开发人员.

authentication couchdb angularjs angular-ui ionic-framework

66
推荐指数
2
解决办法
3万
查看次数

如何修复 Android Studio 中的“未指定命名空间”错误?

在此输入图像描述

Namespace not specified. Please specify a namespace in the module's build.gradle file like so:

android {
namespace 'com.example.namespace'
}

If the package attribute is specified in the source AndroidManifest.xml, it can be migrated automatically to the namespace value in the build.gradle file using the AGP Upgrade Assistant; please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information.
Run Code Online (Sandbox Code Playgroud)

升级到 Android Studio Flamingo 并提供 AGP Upgrade Assistant 从 7.4.2 到 8.0.0 后,我收到此错误。

这是一个 ionic 项目,因此命名空间已经在 build.gradle 文件中指定,如下所示,

构建.gradle

apply plugin: 'com.android.application'

android {

    namespace 'com.example.m' …
Run Code Online (Sandbox Code Playgroud)

android android-studio ionic-framework

66
推荐指数
3
解决办法
7万
查看次数

上传到App Store时出现Xcode错误:"找不到合适的应用程序记录"

我正在使用Ionic为iOS构建一个html应用程序.我在iTunes Connect上注册了一个应用程序.

在我上传到App Store之前,Xcode一切顺利.我收到以下错误:

iTunes Store操作失败.
没有找到合适的申请记录.验证您的包标识符'com.iconicframework.app315125'是否正确.

iTunes Store操作失败

xcode app-store ionic-framework

62
推荐指数
6
解决办法
8万
查看次数