Tag: marionette

使用自定义布局和变量no字段与骨干表单

我正在开发一个应用程序,我在其中使用backbone-forms.js来生成动态表单。 所以目前我们能够生成具有这样的标签和输入元素的简单forms 但实际上我必须改变字段的排列。在每一行中我将有一个标签,两个输入字段。 所以我想问一下,是否可以使用骨干表单动态生成这样的表单。 如果我们将使用完整的自定义模板,那么使用此框架没有任何意义。 因此,可以仅为一行提供html并基于同一模板生成其他行。 如果可以生成这样的forms,我们将如何将其值设置为fieldname id class等到第三个字段。 请建议。

在Marionette / Backbone.js中渲染布局和子视图

我有一个工作解决方案,在我正在研究的Marionette应用程序中使用区域中的视图渲染布局,但有些事情对此感觉不正确。 你必须直接向DOM添加任何内容吗? 这是我在控制器中的方法: //Grab the main Layout var layout = new APP.Views.LayoutView(); //Render that layout layout.render(); //Make the model var simpleModel = new APP.Models.simpleModel({ “field1” : “foo”, “field2” : “bar” }); layout.header.show(new APP.Views.subView({model: simpleModel})); $(‘body’).html(layout.el); 这是对我来说感觉不自然的最后一部分。 这主要是因为如果我将’layout.header.show’移动到.html()之后,那么它就无法正确呈现。 如果它们在推送到DOM之后不能动态变化,那么区域有什么意义呢? 这是我的布局: APP.Views.LayoutView = Backbone.Marionette.Layout.extend({ template: “#layoutTemplate”, className : ‘wrapper’, regions: { header: “#header”, footer: “#footer” } }); […]

Backbone Marionette,Composite View初始化两次

我正在使用一个复合视图,其中$ .dialog调用了它的$ el。 然后,合成视图将列出集合中的项目。 现在我已经尝试了多种方式来渲染集合项:在将视图附加到视图之前和之后从复合视图外部获取,在视图内部获取,从我的服务器脚本预加载集合等等… 一切似乎都有效,但同样的问题发生.. 一旦复合视图看到这个集合,它就会再次调用它自己的初始化函数…… 我完全理解渲染函数将在集合重置或添加时调用…但是初始化??? 我完全不知道为什么会这样。 showCustomFieldSelect: function(e){ log(‘triggered’); e.preventDefault(); var cl = new AustApp.Collections.CustomField; var select = new AustApp.Views.AvailableCustomFieldsList({ el: “#available-custom-fields-popup”, collection: cl }); cl.fetch(); cl.once(“reset”, function(){ // this bind was // previously used for creating the view // or calling render functions directly // amongst numerous efforts to debug }, […]

似乎无法清理分离的DOM元素

我正在使用jquery-ui Tabs ,我遇到了删除标签时出现的问题。 该选项卡似乎与其内容div一起被删除,但当您查看Chrome DevTools配置文件中的堆(删除选项卡后)时,您将看到选项卡li和div元素仍然存在,但已分离。 随着时间的推移,重复添加/移除突片导致这些元件累积。 例如,如果添加选项卡10次,则会在堆快照中显示10个分离的div元素和10个分离的li元素: 我有以下观点: TabLabel = Marionette.ItemView.extend({ template: “#tab-label”, tagName: “li”, events: { “click .ui-icon-close”: “closeTab” }, closeTab: function(e) { this.$el.contents().remove(); this.model.collection.remove(this.model); $(“#main-container”).tabs(“refresh”); this.close(); } }); TabContainer = Marionette.ItemView.extend({ template: “#tab-container”, tagName: “div”, onBeforeRender: function() { this.$el.attr(“id”, “div-” + this.id); }, onClose: function() { // This removes the region that contains […]

如何在Marionette .js + backbone中加载html文件?

我有一个“test.html”,因为我有这个竞争(整个html文件有这个竞争)。 First page 我需要使用Marionette .js在id =“contend”的div中加载该竞争 你能告诉我怎么做吗? 小提琴: http : //jsfiddle.net/JQu5Q/16/ $(document).ready(function(){ var ContactManager = new Marionette.Application(); ContactManager.addRegions({ mainRegion:”#contend” }) ContactManager.on(“start”, function(){ console.log(“ContactManager has started!”); }); ContactManager.start(); // router var routers = Backbone.Router.extend({ routes: { “”: “showFirstPage” }, showFirstPage:function(){ } }) var ToolItemView = Backbone.Marionette.ItemView.extend({ template: ‘hello’, }); })

如何在骨干网中加载预处理模板?

你能不能告诉我如何加载预先编译的模板。我用Google搜索并找到解决方案。现在我不知道如何使用这个function。请告诉我如何使用这个function? 代码: http : //goo.gl/ALfkzf Backbone.Marionette.TemplateCache.prototype.loadTemplate = function (templateId, callback) { var tmpId = templateId.replace(“#”, “”), url = “/app/templates/” + tmpId + “.html”; $.get(url, function (templateHtml) { compiledTemplate = Handlebars.compile($(templateHtml).html()) callback.call(this, compiledTemplate); }); }; Backbone.Marionette.Renderer.renderTemplate = function (templateId, data) { var renderer = $.Deferred(); Backbone.Marionette.TemplateCache.get(templateId, function(template){ var html = template(data); renderer.resolve(html); }); return renderer.promise(); }; […]

在动态创建时,bootstrap崩溃无法正常工作

我通过ajax调用获取我的内容并在运行时创建所有可折叠面板。 但是切换function不能以这种方式工作。 我正在使用主干木偶集合和项目视图来创建我的面板组。 我检查了静态内容,它可以正常使用静态数据。 我检查了几个链接,但在我的情况下似乎没有任何工作。 如何使用ajax使Twitter Bootstrap Collapse在动态加载的html上工作 https://github.com/twbs/bootstrap/issues/2274 这是我的html看起来像: … ….