Vue图像尺寸过滤器

时间:2016-04-26 00:56:39

标签: javascript filter vue.js image-size

我正在尝试解决使用PHP(Codeigniter 3)从 URL 中提取/抓取图像的问题,所以每当我得到它们时,有时会有太多而且通常非常小且无用。我已经无数次尝试制作Vue过滤器或PHP代码片段来仅选择图像大小超过150x150的图像URL。 PHP变得很慢,我不打扰它。我尝试的最后一件事是使用jquery:

Vue.filter('imagesize', (url) => {
  var tmpImg = new Image()
  tmpImg.src = url
  $(tmpImg).one('load', () => {
    if (tmpImg.width > 150) { 
      return url
    }
  })
})

首先它不起作用,但加载30个图像对于过滤器来说也会很慢。我的问题是:我可以使用vue或任何JS 更好地这些图像,然后只保留较大的图像,或使用一些其他过滤器,或者隐藏< / strong>较小的我渲染后?请高度赞赏任何建议。

1 个答案:

答案 0 :(得分:0)

您要对单个值(URL)进行过滤,您应该真正做的是过滤URL数组,与过滤器过滤器的实现方式相同。 看看我删除了无聊部分的源代码:

export function filterBy (arr, search, delimiter) {
  ... stuff ...
  for (var i = 0, l = arr.length; i < l; i++) {
    ... stuff ...
      if (/*some condition items must pass*/) { // <-- here you put the condition on size
          res.push(item)
    ... stuff ...
  return res
}