首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >requireJS和ImagesLoaded : Object [ Object ]没有方法“imagesLoaded”

requireJS和ImagesLoaded : Object [ Object ]没有方法“imagesLoaded”
EN

Stack Overflow用户
提问于 2013-09-05 00:00:58
回答 1查看 2.8K关注 0票数 2

我在这个问题中也有类似的问题,但似乎没有正确的答案。

我正在尝试用loadImages加载“require.js”库,但是我得到了这个

TypeError:对象对象没有方法“imagesLoaded”

下面是我页面上的脚本:

代码语言:javascript
复制
require(['./js/common'], function(common) 
{
    require(['home/main-home']);
});

我的common.js

代码语言:javascript
复制
requirejs.config({
    baseUrl: './js',
    paths: {
        jquery : 'libs/jquery/jquery-2.0.3.min',


        eventie  : 'libs/eventie/eventie',
        eventEmitter  : 'libs/eventEmitter/eventEmitter.min',
        imagesLoaded  : 'libs/imagesLoaded/imagesloaded.pkgd.min',

        masonry  : 'libs/masonry/masonry.pkgd.min',
        wall : './wall/wall',
        underscore  : '../libs/underscore/underscore-min',
        backbone : '../libs/backbone/backbone-min',
    },
    shim: {

        jquery : {
            exports : '$'
        },

        imagesLoaded : {
            deps : ['jquery', 'eventie', 'eventEmitter']
        },

        masonry : ['jquery'],
        wall : ['masonry', 'imagesLoaded'],

        backbone : {
            deps : ['jquery', 'underscore'],
            exports : 'Backbone'
        },

        underscore : {
            exports : '_'
        }

    }
});

这是我想要使用imagesLoaded库的主-home.js. is。

代码语言:javascript
复制
define([
  'wall'
], 
function(Wall){

  $(function() 
  {
      $('#photos').imagesLoaded( function(){}); // ERROR
  });

  return true;
});

在imagesLoaded文档中,有一个关于require.js的小例子,我不太明白。我也试着加载这些库,但是它没有改变任何东西。

代码语言:javascript
复制
// Install imagesLoaded and its dependencies
// Update your RequireJS paths config so it can find those modules
requirejs.config({
  paths: {
    "eventie": "bower_components/eventie",
    "eventEmitter": "bower_components/eventEmitter"
  }
});

他们似乎在这里谈论它,https://github.com/desandro/imagesloaded/issues/68,但我真的不知道该做什么。

以下是我的页面正在加载的js文件:

我们可以看到imagesLoaded是装载的..。,为什么我还有这个错误呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-05 15:29:47

这把小提琴起作用了

我已经编辑了ImagesLoaded JS (作为要旨)以给模块一个有效的模块id。

搜索:

代码语言:javascript
复制
// --------------------------------------------------
// ADDED A MODULE ID
// --------------------------------------------------

在三个更改的代码中(定义imagesLoadedeventEmitter/EventEmittereventie/eventie模块)。

考虑到ImageLoaded JS文件已经包含了其他两个模块,因此不需要任何路径/shims。

HTML

代码语言:javascript
复制
<div id="photos"></div>
<script>
require = {
    paths: {
        "jquery": "http://code.jquery.com/jquery-2.0.3",
        "imagesLoaded": "https://rawgithub.com/gitgrimbo/6451492/raw/f26e23d7a180ee23fd3dea3b0b152dbf523854a1/ImageLoaded-mod"
    }
};
</script>
<script src="http://requirejs.org/docs/release/2.1.8/comments/require.js"></script>

JS

代码语言:javascript
复制
require(["jquery", "imagesLoaded"], function($, imagesLoaded) {
    console.log($.fn.jquery);
    console.log(imagesLoaded);
    $('#photos').imagesLoaded(function() {
        console.log("something");
    });
});

输出

代码语言:javascript
复制
2.0.3
ImagesLoaded( elem, options, onAlways )
something
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18625692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档