小编Dav*_*eto的帖子

如何从弹出框选项中显示Ionic弹出窗口?

我的Ionic框架应用程序中有一个popover,带有选项:共享和删除.我需要在选择删除选项时显示确认弹出窗口,但我不知道如何.

如何才能做到这一点?我是否需要为弹出窗口创建单独的控制器?我已经从ActionSheet做了一个弹出窗口,但这有点不同.

这是控制器:

$ionicPopover.fromTemplateUrl('templates/popover.html', {
    scope: $scope
}).then(function(popover) {
    $scope.popover = popover;
});

// Triggered on a button click, or some other target
$scope.openPopover = function($event) {

    $scope.popover.show($event);
}; 
Run Code Online (Sandbox Code Playgroud)

这是popover模板:

<ion-popover-view style="height: 120px">
  <ion-content>
    <div class="list">
      <a class="item">
        Compartir
      </a>
      <a class="item">
        Eliminar
      </a>
    </div>
  </ion-content>
</ion-popover-view>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs ionic-framework ionic

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

如何在Ionic框架内打开webview?

我需要的是在Ionic应用程序的页面框架内加载HTML代码,而无需打开新窗口或覆盖页面的其余部分.

我们的想法是拥有一个打开网页的框架,而不会覆盖或破坏页面的其余部分,如标题,按钮等.

基本上,我想做的是相当于Ionic框架应用程序中的Android WebView.

这可能吗?

没有太多代码,是消息应用程序的简单"消息详细信息"页面,只是消息必须显示为网页.

<ion-view view-title="Detalles de mensaje" class="discover-page">
    <ion-nav-buttons side="right">
        <button class="button button-icon icon ion-navicon-round" ng-click="openPopover($event)">
        </button>
    </ion-nav-buttons>
    <ion-nav-buttons side="left">
        <button class="button button-icon icon ion-ios7-arrow-back" ng-click="goBack()">
        </button>
    </ion-nav-buttons>
    <ion-content scroll="false">

    </ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)

我需要在顶部按钮和下面的webview显示标题.

javascript angularjs ionic-framework ionic

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

如何在Ionic中制作开/关按钮

我需要在按下按钮后按下一个按钮,按下按钮后再按下按钮,只有再次按下按钮才会停用.

有一个类似的问题,但它只适用于图标按钮.(如何添加具有离子开启/离子关闭功能的导航栏按钮).

编辑

我不能使用切换按钮,它需要是一个常规的按钮(在这种情况下是一个离子按钮轮廓),按下时保持活动状态.

这是一些代码:

<div class="botones">
    <div class="row">
      <div class="col">
        <button class="button button-outline button-block button-positive">
          Promociones
        </button>
      </div>
      <div class="col">
        <button class="button button-outline button-block button-energized" >
          Aprobados
        </button>
      </div>
      <div class="col">
        <button class="button button-outline button-block button-assertive" >
          Alerta
        </button>
      </div>
      <div class="col">
        <button class="button button-outline button-block button-balanced" >
          ATM
        </button>
      </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如您所见,是一个简单的水平按钮阵列.他们假设充当消息收件箱的过滤器,因此当过滤器处于活动状态时,他们必须保持按下(最多一个).像一个标签,但不完全.

主要问题是,如何访问按钮的激活状态,以便我可以将其激活.

javascript angularjs ionic-framework ionic

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

如何改变离子的导航条尺寸?

由于平台的工作原理,导航栏有Android的默认大小和iOS的默认大小.我需要在Android版本中使nav-var更大,以达到所需的审美目的.到目前为止,我只能用CSS改变文本大小和颜色,但不能改变条形本身的大小.

是可以改变它还是设计不可改变?

css ionic-framework ionic

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

Ionic/Cordova应用程序不会在后台接收推送通知

我的Android应用程序在后台没有收到推送通知,它应该根据文档.

Android设备上的Android应用程序无需运行即可接收消息.只要应用程序设置了正确的广播接收器和权限,系统就会在消息到达时通过Intent广播唤醒Android应用程序.

尝试不同的通知发现它确实在关闭时收到推送通知,当且仅当通知包含属性"message"时,如果没有,它只是丢弃它.(推送通知只是JSON对象).

我的通知包含所有类型的属性,包括"alert","id"和"title",但只有"message"才能让Android唤醒应用.

示例通知不起作用:

{ event: 'message',
  from: '947957531940',
  collapse_key: 'do_not_collapse',
  foreground: true,
  payload: 
   { alert: 'Mensaje de Prueba',
     title: 'Titulo Mensaje de Prueba' } }
Run Code Online (Sandbox Code Playgroud)

例如通知工作:

{ event: 'message',
  from: '947957531940',
  message: 'Contenido del mensaje de prueba.',
  collapse_key: 'do_not_collapse',
  foreground: true,
  payload: 
   { alert: 'Mensaje de Prueba',
     title: 'Titulo Mensaje de Prueba',
     message: 'Contenido del mensaje de prueba.' } }
Run Code Online (Sandbox Code Playgroud)

这是Android标准设计还是我在我的应用程序中做错了什么?

我的应用程序是使用Ionic与Cordova开发的.

PD:请原谅我的英语.

编辑:

这是app.js中.run模块内的Android推送代码,因为ng-cordova指令指定:

if (ionic.Platform.isAndroid()){

  var …
Run Code Online (Sandbox Code Playgroud)

android push-notification phonegap-plugins cordova ionic-framework

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

iframe标签在最新版本的Ionic中不起作用

我按照Ionic框架的教程学习如何构建应用程序:https://thinkster.io/ionic-framework-tutorial/ 并且它运行良好.

然后我开始添加功能,比如一个带有iframe标签的页面,它在android模拟器中也有效.但是当我从头开始构建我自己的应用程序时,iframe仅在您使用ionic serve --lab运行应用程序时才有效,它在模拟器或真正的Android设备中不起作用.

我的应用程序和示例教程之间的主要区别在于本教程是使用Ionic v1.0.0-beta.14(我认为Apache Ant)构建的,而我的应用程序是使用Ionic v1.0.0-rc.4

有没有办法来解决这个问题?

这是代码,很简单:

<ion-view view-title="Detalles de mensaje" class="detallesWV-page">
  <ion-nav-buttons side="right">
   <button class="button button-icon icon ion-navicon-round" ng-click="openPopover($event)">
   </button>
  </ion-nav-buttons>

  <ion-content scroll="false">

      <iframe src="http://www.cnn.com/" height="400px" width="350px"></iframe>

    <div class="row">
      <div class="col">
        <button class="button button-assertive" ng-class="" ng-click="openPage()">
          {{ 'NO SE MUESTRA CONTENIDO' }}
        </button>
      </div>
    </div>

    </ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)

ant android angularjs ionic-framework ionic

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

服务调用在 Angular 5 的错误处理程序中不起作用

我在一个服务中进行了 HTTP 调用,就像它应该的那样,并且在该服务中我向另一个服务发送错误通知。

出于某种原因,如果我在 catchError 管道内进行服务通知调用,它可以正常工作,但如果我在错误处理程序函数内进行它,则它不起作用,不仅如此,错误处理程序内的其余代码是打断了。

例子:

// error message handler
// can not be used inside handleError()
private errorMessageGrowl() {
  this.messageService.add({
      severity: 'error',
      summary: 'Service Error',
      detail: 'An error has occurred'
  });
}

// error handler
private handleError(error: HttpErrorResponse) {

    // this works fine
    console.log('FLAG 1');

    // THIS DOES NOT WORK
    this.errorMessageGrowl();

    // THIS IS NEVER CALLED
    console.log('FLAG 2');

    // return an ErrorObservable with a user-facing error message
    return new ErrorObservable(
        'Something bad happened; please try again …
Run Code Online (Sandbox Code Playgroud)

rxjs typescript angular

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

Ionic应用程序在Android模拟器和设备上崩溃

我正在使用Ionic框架和AngularJS构建应用程序.它曾经运行良好,现在它在模拟器和Android设备中启动时立即崩溃.奇怪的是它在Ionic View应用程序(http://view.ionic.io/)中运行良好.logcat说错误是NullPointerException.

真正让我担心的是,我没有做任何重大改变,另一个应用也开始失败了.Ionic Cordova如何失败?

崩溃部分的完整logcat说:

--------- beginning of crash
E/AndroidRuntime( 2227): FATAL EXCEPTION: main
E/AndroidRuntime( 2227): Process: com.ionicframework.notpush921844, PID: 2227
E/AndroidRuntime( 2227): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ionicframework.notpush921844/com.ionicframework.notpush921844.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CordovaPlugin.privateInitialize(java.lang.String, org.apache.cordova.CordovaInterface, org.apache.cordova.CordovaWebView, org.apache.cordova.CordovaPreferences)' on a null object reference
E/AndroidRuntime( 2227):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
E/AndroidRuntime( 2227):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
E/AndroidRuntime( 2227):    at android.app.ActivityThread.access$800(ActivityThread.java:144)
E/AndroidRuntime( 2227):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
E/AndroidRuntime( 2227):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 2227):    at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 2227):    at android.app.ActivityThread.main(ActivityThread.java:5221)
E/AndroidRuntime( 2227):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( …
Run Code Online (Sandbox Code Playgroud)

android phonegap-plugins cordova ionic-framework cordova-plugins

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

如何在JavaScript中高效合并两个对象数组并按属性过滤重复项?

我还没有掌握JavaScript,我想做同样的事情(如何在Javascript中合并两个数组并重复删除项目),但是使用对象数组并根据唯一ID属性过滤重复项.

我已经用这个问题的答案中的一个做了,但它效率很低.

这是我的解决方案:

var mezclaArreglo = function (array) {
  var a = array.concat();
  for(var i=0; i<a.length; ++i) {
    for(var j=i+1; j<a.length; ++j) {
      if(a[i].hid === a[j].hid)
        a.splice(j--, 1);
    }
  }

  return a;
};

var old = 
  [{ hid: 'MTQzNTc1OTcyMzk1ODI3OTMyMjI3NDcyNzc0Njg0NDI5',
     number: '1',
     payload: { style: 'WebView', type: 'type1' }},
   { hid: 'MTQzNTc1OTczMDA1MDgwMTcwNzg3NjM4MDUzMjk3OTk3',
     number: '2',
     payload: { style: 'WebView', type: 'type1' }},
   { hid: 'MTQzNTc1OTczNDMxNzQ1NDI2NzUwOTA0ODgwNDY0MDc3',
     number: '3',
     payload: { style: 'WebView', type: 'type1' }}
   ];

var newA =
  [{ hid: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

如何在没有数学库的情况下截断JavaScript中的小数?

我需要数字只有2位小数(如钱),我使用这个:

Number(parseFloat(Math.trunc(amount_to_truncate * 100) / 100));
Run Code Online (Sandbox Code Playgroud)

但我不能再支持数学库了.

如果没有数学库并且舍入小数,我怎样才能实现这一目标?

javascript angularjs

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

如何从Ionic中的图标按钮显示下拉菜单?

我正在尝试创建一个下拉菜单,其中包含从图标按钮显示的"共享"和"删除"选项,但Ionic不支持开箱即用.

有问题的按钮是这样的:

<button class="button button-icon icon ion-navicon-round" ng-click="show()"> 
</button>
Run Code Online (Sandbox Code Playgroud)

我检查了问题(离子如何在按钮点击时显示选项下拉列表),但它没有帮助.

也许我需要一些Angular.js技巧?我是Angular.js和Ionic框架的新手.

javascript angularjs ionic-framework ionic

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

Ionic:CSS在Ionic Serve,Android模拟器和Android设备上的呈现方式不同

构建我的Ionic应用程序的界面我有一个问题,它根据你在哪里运行它呈现不同.每当我修理一些东西,我最终都会破坏别的东西.

以下是我正在开发的邮件收件箱的样子:

HTML代码是这样的:

<ion-view hide-back-button="false" view-title="Buzón de Mensajes" class="buzon-page">
  <!-- <ion-nav-bar> </ion-nav-bar> -->
  <ion-nav-buttons side="right">
    <button class="button button-icon icon ion-android-exit" ng-click="cerrarSesion()">
    </button>
  </ion-nav-buttons>

  <div class="superior">     
  <div class="list list-inset" >
    <label class="item item-input">
      <i class="icon ion-search placeholder-icon"></i>
        <input type="text" placeholder="Buscar">
    </label>
  </div>


  <div class="botones">
    <div class="row">
      <div class="col">
        <button class="button button-outline button-block button-positive">
          Promociones
        </button>
      </div>
      <div class="col">
        <button class="button button-outline button-block button-energized" >
          Aprobados
        </button>
      </div>
      <div class="col">
        <button class="button button-outline button-block …
Run Code Online (Sandbox Code Playgroud)

html css android ionic-framework ionic

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

Angular HTTP promise返回空

我有一个带有HTTP GET请求的工厂,我使用promises作为文档说我应该使用$ q服务,但它返回一个空的承诺:

App.factory('dataFactory', ['$rootScope','$http','$q', function($rootScope,$http,$q) {

  // Objeto del factory 
  var fac = {};

  // Funcion que obtiene un mensaje completo
  fac.obtenerListaMensajes = function(compania,userhid){

    var deferred = $q.defer(); 

    $http({ 
            method: 'GET', 
            url: urlListaMensajes, 
            params: {company:compania,userhid:userhid}
          }).
      then(function(response) {

        deferred.resolve(response.data.messages);

        console.log(JSON.stringify(deferred.promise));

        }, function(error) {
          deferred.reject(error);
    });

    return deferred.promise;
  };

  return fac;

}]);
Run Code Online (Sandbox Code Playgroud)

控制器:

App.controller('MailFolderController', ['$scope','$rootScope','dataFactory', '$stateParams', function($scope, $rootScope, dataFactory, $stateParams) {

  // Variables de PRUEBA
  var user_prueba = 'MTQzMjU4NjUyNDcxMzczNzQwNjE3MTg1ODMxMDY5OTQ2';
  var company_prueba = 'development';

  $scope.mails = dataFactory.obtenerListaMensajes(company_prueba,user_prueba);
}]);
Run Code Online (Sandbox Code Playgroud)

$ scope.mails中的最终值是:

{"$$state":{"status":0}} …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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