Component组件 内部处理数据问题
发布于 6 年前 作者 leiyan 1382 次浏览 来自 问答

场景:外部传给组件一段字符串   比如:abcdefg    ,和一个搜索key值 比如key =  c   现在需要accdefg中程的颜色和其他颜色不一样。

我这边处理的就是拆分这个字符串,分三个部分三个text展示。现在问题就是我想吧这个字符串拆分放在组件里面去处理,但是组件提供的方法  都只执行一遍,没有那种,外部setData组件里面方法也会更真去执行的。好想只是第一次会执行

3 回复

目前,你需要使用属性observer,可以在一个属性被改变后触发一个函数,这个函数里面你可以执行逻辑,比如this.setData。

麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

search搜索关键字

搜索 d   出现abcdef

想要的效果   abcdef   ===   abcd(这个d变成蓝色,其他字不变)ef。。

因为服务端给的是一串字符串,所以我要自己拆分,调整对应的颜色,所以想吧这个才分逻辑放在component里面。但是问题就来了,component提供的方法,只是初始化执行一次。

__
__

// components/light-text-view/light-text-view.js

Component({

  /**

   * 组件的属性列表

   */

  properties: {

    keyword:String,

    contentText:String,

  },

  ready : function(){

    console.log(“只走一次”);

 

  },

attachedL:function(){

    console.log(“只走一次”);

  },

想要的效果=====>

{

    如同  onShow()方法一样,每次外部setData,组件里面有一个方法都会执行

    this.setData({

        data:data

    })

}

  /**

   * 组件的初始数据

   */

  data: {

 

  },

  /**

   * 组件的方法列表

   */

  methods: {

  

})

回到顶部