Это похоже на вопрос , уже поставленный здесь, но я использую Dojo 1.7. Итак, я не могу заставить BorderContainer и ContentPanes работать внутри настраиваемого шаблона виджета. Это сводит меня с ума. Я попытался добавить миксины, предложенные в другом посте, но это не сработало.
Итак, у меня есть два примера. Первый - это одна страница, декларативно использующая додзё, и она отлично работает. Второй пример - это точно такая же страница, но я использую виджет для встраивания шаблона. Он отображает виджеты, но все они склеены в правом верхнем углу. Та же страница, те же стили. НО, когда я изменяю размер окна браузера, страница принимает форму. Здесь все еще отсутствуют биты, но лучше
снимок экрана здесь для первого примера с декларативным использованием dojo
снимок экрана здесь для второго примера с использованием снимка экрана виджета
здесь для второго примера после изменения размера окна браузера . Все еще не то же самое, что и в первом примере, но лучше.
Большое спасибо
Это первый пример, который работает
Demo: Application Controller
Flickr keyword photo search
Each search creates a new tab with the results as thumbnails
Click on any thumbnail to view the larger image
А это второй пример с использованием виджета
Demo: Application Controller
Это код виджета
define('tag/Widget',
[
'dojo',
'dijit/_Widget',
'dijit/_TemplatedMixin',
'dijit/_WidgetsInTemplateMixin',
'dijit/layout/BorderContainer',
'dijit/layout/TabContainer',
'dijit/layout/ContentPane'
],
function(d) {
//The widget contructor will be returned
return d.declare('tag.Widget',
[
dijit._Widget,
dijit._TemplatedMixin,
dijit._WidgetsInTemplateMixin
],
{
templateString : d.cache("tag", "templates/template.html"),
postCreate : function() {
this.inherited(arguments);
var domNode = this.domNode;
},
startup : function(args) {
this.inherited(arguments);
this.placeAt(dojo.doc.body);
}
});
});
Это шаблон для виджета
Flickr keyword photo search
Each search creates a new tab with the results as thumbnails
Click on any thumbnail to view the larger image