wxParse空格解析不生效的解决方案

  • Jason.z
  • 2018-08-22 02:19:16

修改wxDiscode.js文件的strcharacterDiscode方法中

 str = str.replace(/ /g, ' ');

替换为

    str = str.replace(/ /g, '\xa0');

wxParse解析列表循环数据渲染

  • Jason.z
  • 2018-08-21 07:37:10

wxParse解析列表循环数据我们可以按照文档上的方法进行操作

this.setData({
    list:listRes
})

let that=this;
for (let i = 0; i < listRes.length; i++) {
    WxParse.wxParse('topic' + i, 'html', listRes[i].topic, that);
    if (i === listRes.length - 1) {
      WxParse.wxParseTemArray("listArr",'topic', listRes.length, that)
    }
}

这个时候我们会发现listArr虽然可以渲染html,但是我们原来的数据格式全部清除了, 所以,我们需要把之前的数据重新赋值上。

let list=this.data.listArr;
list.map((item,index,arr)=>{
    arr[index][0].id=1;           
    arr[index][0].name='test';

});
//重新赋值
this.setData({
    list:list
})

然后在wxml里这样使用即可。

<view wx:key="{{item.id}}" wx:for="{{list}}">
    <text...

centos6.x升级python到2.7版本

  • Jason.z
  • 2018-08-21 06:56:20

备份旧版本

mv /usr/bin/pip /usr/bin/pip_old  
mv /usr/bin/easy_install /usr/bin/easy_install_old
mv /usr/bin/python /usr/bin/python_old

下载新版本

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar -zxf Python-2.7.13.tgz

编译安装

cd Python-2.7.13
 ./configure --prefix=/usr/local/python2.7 --with-threads --enable-shared
 make && make altinstall

软链接

ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib
ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python
ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib64
ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib64

测试

 python
Python 2.7.13 (default, Apr 11 2017, 11:14:36) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on...

"InsecurePlatformWarning: A true SSLContext object is not available."错误的解决方案

  • Jason.z
  • 2018-08-21 03:24:15

问题描述

运行python脚本的时候,提示以下错误:

InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning

问题分析

ssl问题,urllib3需要pyopenssl。

解决办法

pip install pyopenssl ndg-httpsclient pyasn1

如果安装失败,请安装缺少组件

centos

yum install libffi-dev libssl-dev

《ionic3组件和api教程》单选框

  • Jason.z
  • 2018-08-17 14:55:06

单选框(radio)

file

基本用法

<ion-list radio-group>
  <ion-list-header>
    Language
  </ion-list-header>

  <ion-item>
    <ion-label>Go</ion-label>
    <ion-radio checked="true" value="go"></ion-radio>
  </ion-item>

  <ion-item>
    <ion-label>Rust</ion-label>
    <ion-radio value="rust"></ion-radio>
  </ion-item>

  <ion-item>
    <ion-label>Python</ion-label>
    <ion-radio value="python" disabled="true"></ion-radio>
  </ion-item>
</ion-list>

属性

color

单选框的颜色

checked

是否选择

disabled

是否禁用

value

方法

ionSelect()

值切换的时候回调

《ionic3组件和api教程》复选框

  • Jason.z
  • 2018-08-17 08:17:57

复选框(checkbox)

file

基本用法

<ion-item>
  <ion-label>Daenerys Targaryen</ion-label>
  <ion-checkbox color="dark" checked="true"></ion-checkbox>
</ion-item>

属性

checked

是否选中

disabled

是否禁用

方法

获取checkbox变化

<ion-list>

   <ion-item>
     <ion-label>Cucumber</ion-label>
     <ion-checkbox [(ngModel)]="cucumber" (ionChange)="updateCucumber()"></ion-checkbox>
   </ion-item>

 </ion-list>

@Component({
  templateUrl: 'main.html'
})
class SaladPage {
  cucumber: boolean;

  updateCucumber() {
    console.log('Cucumbers new state:' + this.cucumber);
  }
}

《ionic3组件和api教程》加载框

  • Jason.z
  • 2018-08-17 08:00:18

加载框(loading)主要用于数据加载或者耗时操作等。

file

基本用法

import { LoadingController } from 'ionic-angular';

export class MyPage {

constructor(public loadingCtrl: LoadingController) { }

presentLoading() { const loader = this.loadingCtrl.create({ content: "Please wait...", duration: 3000 }); loader.present(); } }

参数

使用create(opts) 方法创建的时候可以指定下面参数:

spinner

指定加载的动画图标,sipnner参考

content

加载框的内容

cssClass

css 样式

showBackdrop

是否显示背景遮罩

enableBackdropDismiss

是否允许点击背景消失

dismissOnPageChange

页面变化时是否消失

duration

自动消失时长

消失的监听回调

onDidDismiss() 同toast使用方法。

《ionic3组件和api教程》消息框

  • Jason.z
  • 2018-08-17 06:59:40

消息框(toast)主要用来页面或操作结果的提示。

file

基本用法

import { ToastController } from 'ionic-angular';

export class MyPage {

  constructor(public toastCtrl: ToastController) { }

  presentToast() {
    const toast = this.toastCtrl.create({
      message: 'User was added successfully',
      duration: 3000
    });
    toast.present();
  }
}

方法

使用create 方法创建的时候可以指定多个参数

message

消息内容

duration

自动消失的时间

position

显示的位置 "top", "middle", "bottom".

cssClass

css样式

showCloseButton

是否显示关闭按钮

closeButtonText

关闭按钮的文本

dismissOnPageChange

当页面改变时是否消失

另外我们也可以使用onDidDismiss方法来监听消息框消失事件

import { ToastController } from...

《ionic3组件和api教程》弹出框

  • Jason.z
  • 2018-08-17 03:04:25

弹出框(popover)主要用于页面的右上角菜单等。

file

基本用法

import { PopoverController } from 'ionic-angular';
import { MyPopOverPage } from './my-pop-over';

export class MyPage {

  constructor(public popoverCtrl: PopoverController) { }

  presentPopover() {
    const popover = this.popoverCtrl.create(MyPopOverPage);
    popover.present();
  }
}

方法

同模态框(modal)用法

数据交互

同模态框(modal)用法

ng2-chart插件无法动态更新数据的解决办法

  • Jason.z
  • 2018-08-15 11:43:36

ng2-chart插件好像一直存在这个一样问题,就是更新数据后界面不刷新。

解决办法:

1 引入BaseChartDirective

import { BaseChartDirective } from '../ng2-charts';


2、初始化

@ViewChild(BaseChartDirective)
public chart: BaseChartDirective;


3、更新数据的时候调用

setTimeout(() => {
    this.chart.getChartBuilder(this.chart.ctx);
}, 10);


ps:

这个插件应该停止维护了,可能会有很多bug,建议大家不要使用这块图表组件了。