Angular+Ionic使用ion-popover组件

项目开发中常用的一些ionic组件比较有趣,今天简单的说一下Angula中ion-popover组件的使用

1,在/src/app/share/components/popover的路径下
使用指令创建组件:popover

在这里插入图片描述
生成

在这里插入图片描述

2,在src/app/share/components下的components.module.ts文件下加入组件

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { RatingStarComponent } from './rating-star/rating-star.component';
import { ElmSvgComponent } from './svg/svg';
import { LoginStateComponent } from './login-state/login-state.component';
import { PopoverComponent } from './popover/popover.component';//引入
const coms: any[] = [
  RatingStarComponent,
  ElmSvgComponent,
  LoginStateComponent,
  PopoverComponent引入
];

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    RouterModule,
    IonicModule.forRoot(),
  ],
  declarations: [
    coms
  ],
  exports: [
    coms
  ],
  entryComponents: [],
})
export class ComponentsModule { }

share.module.ts中常用配置

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ComponentsModule } from './components/components.module';

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule.forRoot(),
  ],
  declarations: [
  ],
  exports: [
    CommonModule,
    FormsModule,
    IonicModule,
    ComponentsModule
  ],
  entryComponents: [],
})
export class ShareModule {}

3.在要使用的页面中引入
1>
detailed-evaluation.module.ts中

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { DeliverCommentsPageRoutingModule } from './deliver-comments-routing.module';
import { DeliverCommentsPage } from './deliver-comments.page';
import { ShareModule } from '../../share/share.module';//引入组件模块


@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    DeliverCommentsPageRoutingModule,
    ShareModule,//使用组件模块,
    
  ],
  declarations: [DeliverCommentsPage]
})
export class DeliverCommentsPageModule {}

2>detailed-evaluation.page.ts中引入PopoverController获取方法


import { PopoverComponent } from 'src/app/share/components/popover/popover.component';
import { ToastController, LoadingController, NavController,PopoverController } from '@ionic/angular';

//使用
  async presentPopover(ev: any) {
    const popover = await this.popoverController.create({
      component: PopoverComponent,
      event: ev,
      translucent: true
    });
    return await popover.present();
  }

3>页面中使用

  <div class="-tell-rate">
          <span  (click)=" presentPopover($event)">
           <p>这个产品很好用,下次还会再来</p>
          </span>
    </div>

3,由于组件封装度较高,修改样式必须使用深度选择器
所以,我们可以通过在:

popover.component.ts调整组件宽度等样式

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'app-popover',
  templateUrl: './popover.component.html',
  styleUrls: ['./popover.component.scss'],
})
export class PopoverComponent implements OnInit {
  constructor() { }
  ngOnInit() {
    var s = document.querySelector('.popover-content');
    s['style'].width = '710rem';
    s['style'].background = '#999999';
    var a = document.getElementsByClassName('.popover-arrow');
  }
}

4,基本效果

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值