美文网首页
小程序(六)

小程序(六)

作者: Light_shallow | 来源:发表于2018-12-25 16:51 被阅读0次

一、编辑器解析

有些情况需要展示接口返回的富文本编辑器当中的内容,也就是包含一些html标签,如<p>,<span>这些等等,如果是vue我们是可以直接用v-html解析的,但是小程序当中是没有这些标签的,所以我们需要借助插件

首先,贴上插件的git地址:https://github.com/icindy/wxParse

下载wxParese文件夹,将该文件夹复制到自己的小程序项目中

目录结构

然后在.wxml,.js,.wxss三个文件下分别引入

<import src="../../wxParse/wxParse.wxml" />

var WxParse = require('../../wxParse/wxParse.js');

@import "../../wxParse/wxParse.wxss";

引入这些文件之后,

在js里面的生命周期函数onLoad中写

WxParse.wxParse(`cont`, 'html', item, that, 0);

那么对应的wxml文件中就必须也要相对应的写

        <view class='uinn'>

              <template is="wxParse" data="{{wxParseData: cont.nodes}}" />

        </view>

注:cont这里两个地方必须对应,

WxParse.wxParse(`cont`, 'html', item, that, 0);每个属性对应的解释 

* WxParse.wxParse(bindName , type, data, target,imagePadding) 

* 1.bindName绑定的数据名(必填) 

* 2.type可以为html或者md(必填) 

* 3.data为传入的具体数据(必填) 

* 4.target为Page对象,一般为this(必填) 

* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选) 

我这边的模拟情况是一个list列表,然后每个列表里面都有一个字段descript中存放的是带有html标签 的富文本编辑器内容 

js中代码如下

onLoad: function (options) {

    let that = this;

    var descript = [];

    this.data.findTime.map(item =>{

      descript.push(item.descript);

    })

    descript.map((item, index)=>{

      WxParse.wxParse(`cont${index}`, 'html', item, that, 0);

    })

  },

xml中代码如下:

<view wx:for="{{findTime}}" wx:key="findTimeId" wx:for-item="item" wx:for-index="index" class="findTime clearfix ">

      <image src="{{item.imgUrl}}"></image>

      <view class='sign'><text>{{item.sign}}</text></view>

      <text class='title'>{{item.title}}</text>

      <view wx:if="{{index == 0}}">

        <view class='uinn'>

          <template is="wxParse" data="{{wxParseData: cont0.nodes}}" />

        </view>

      </view>

      <view wx:elif="{{index == 1}}">

        <view class='uinn'>

          <template is="wxParse" data="{{wxParseData: cont1.nodes}}" />

        </view>

      </view>

      <view wx:elif="{{index == 2}}">

        <view class='uinn'>

          <template is="wxParse" data="{{wxParseData: cont2.nodes}}" />

        </view>

      </view>

      <view wx:else>

        <view class='uinn'>

          <template is="wxParse" data="{{wxParseData: cont3.nodes}}" />

        </view>

      </view>

    </view>

二、last-child不生效

首先不放在小程序里说,单独拿到html里来说,这样更容易懂,其实原理和小程序类似

.div2 p:last-child {

    background:purple;

    color:red;

}

<div class="div1">

    <h1>这是标题</h1>

    <p>第一个段落。</p>

    <p>p, 第五个段落。</p>

    <div class="div2">

        <p>p, 第二个段落。</p>

        <p>p, 第三个段落。</p>

        <p>p, 第四个段落。</p>

        <div class="div3">div, 我是最后的元素。</div>

     </div>

</div>

可以看到并没有效果,这是因为p标签不是它父元素中的子元素中的最后一个,div才是最后一个,

如果是这么写

<div class="div1">

        <h1>这是标题</h1>

        <p>第一个段落。</p>

        <div class="div2">

            <p>p, 第二个段落。</p>

            <p>p, 第三个段落。</p>

            <p>p, 第四个段落。</p>

            <div class="div3">div, 我是最后的元素。</div>

            <p>p, 第五个段落。</p>

        </div>

</div>

这个时候就可能实现效果

还有一种写法我们可以写成

.div2 p:last-of-type {

·background:purple;

·color:red;

}

这两种方法都可以解决

我在小程序中遇到的问题和以上类似

当时除了用伪类的方法还有一个方法就是下面的动态添加class,通过class名改动

三、动态添加class

<view wx:for="{{findTime}}" wx:key="findTimeId" wx:for-item="item" wx:for-index="index" class="findTime clearfix {{index == findTime.length-1 ? 'cur' : ''}} ">

</view>

这里有两个注意点:

(1)index不需要加引号

(2)要增加的class名要加引号

相关文章

  • 小程序(六)

    一、编辑器解析 有些情况需要展示接口返回的富文本编辑器当中的内容,也就是包含一些html标签,如 , 这些等等,如...

  • 2018-04-19

    六安企客猫微信小程序开发报价,六安微信小程序开发多少钱 微信小程序解密新零售的新玩法 你在使用一个小程序吗?微信的...

  • 小程序新学的六脉神剑是什么鬼?

    小程序的六脉神剑 3月27日,小程序新增六大新增功能。 1个人开发者开放、2公众号自定义菜单跳小程序、3公众号模版...

  • 小程序思维导图| 创业商机就在这里!

    小程序6大箴言 小程序不仅是世界观,而是宇宙观。很多人到现在对小程序的重视还远远不够。对于小程序做了以下六个预言:...

  • 小程序(六)小程序获取用户信息

    小程序获取用户信息这部分其实不难,但是,他有点麻烦。 最开始,在小程序的app.js中的onlaunch中判断如果...

  • 梳理小程序知识(六)

    插件从小程序基础库版本 2.1.0 开始支持页面。插件可以定义若干个插件页面,可以从本插件的自定义组件、其他页面中...

  • 小程序(六)template模板

    WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。 1 将业务中的数据分离到单...

  • 平民价|小程序定制 全网代运营 产品包装推广

    星易小程序的六大优势 随着微信小程序热度的愈发高涨,进而产生了越来越多的外包定制小程序平台。正所谓“树大有枯枝,族...

  • 微信小程序如何接入腾讯MAT

    简言: 针对微信小程序而言,腾讯也推出了腾讯移动分析中的分类:微信小程序分析。 微信小程序分析可以分为六大类:1....

  • 探路小程序之小程序的盈利之道(六)

    首先,我们讲的是投资小程序名称和投资域名的差别,小程序名称和域名都具有稀缺性和唯一性,但是小程序名称比域名更有价值...

网友评论

      本文标题:小程序(六)

      本文链接:https://www.haomeiwen.com/subject/cjmxlqtx.html