我需要使用(这是独立包)isotope.pkgd.js,其中packery-mode作为我项目的LayoutMode。我使用require.js在AMD中连接我的js东西 以下是我的HTML代码:
<div class="container">
<div class="section">
<header class="section-header">
<div class="pull-left">
<h3><span class="fa fa-image"></span>Photos</h3>
</div>
</header>
<div class="padded_content">
<div id="region-gallery" class="gallery js-isotope">
@foreach (IPhotosComponentMediaImage image in Model.Images)
{
++count;
if (w60h40Nums.Contains(count))
{
addClasses = " w60 h40 ";
}
else if (w40Nums.Contains(count))
{
addClasses = " w40 ";
}
else if (w60nums.Contains(count))
{
addClasses = " w60 ";
}
else
{
addClasses = "";
}
<div class="gallery-item isotope-item @addClasses">
<div class="inner lazy" data-original="@image.MediaImageUrl" alt="@image.MediaTourName" data-description="@image.MediaImageDescription"></div>
</div>
}
</div>
</div>
</div>
</div>
我的RenderLayout.js
define([
'domReady!',
'jquery',
'underscore',
'backbone',
'marionette',
'event.aggregator',
'app',
'util/searchOptionsUtil',
'util/UriUtil',
'gallery-carousel',
'isotope',
'packery-mode'
], function (doc, $, _, Backbone, Marionette, EventAggregator, App, SearchOptionsUtil, UriUtil, gc,Isotope, pm) {
var regionPhotosLayout = Backbone.Marionette.Layout.extend({
el: $('#region-photos'),
initialize: function () {
var $container = $('.container');
console.log($container);
$container.isotope({
itemSelector: ".gallery-item",
layoutMode: "packery"
});
var gallery = $("#region-gallery");
//Modal carousel
//var gallery = $("#region-gallery");
gallery.galleryCarousel({
imgSelector: ".inner",
imgSrcAttr: "data-original"
});
}
});
return regionPhotosLayout;
});
所以当我运行我的代码时。我得到以下错误,它无法找到此文件layout-mode.js。我不知道为什么我会得到砌体错误。我试图在这里使用包装模式。此外,我们必须专门添加同位素正在寻找的layout-mode.js。我试过找,但没找到我可以下载的那个名字的文件。
GET http://local.gocollette.com/js/libs/isotope/isotope.pkgd.min/js/layout-mode.js
Uncaught Error: Script error for: isotope/js/layout-mode
Uncaught TypeError: Cannot read property 'masonry' of undefined
提前谢谢你。希望为此找到解决方案。 谢谢, Kasturi