Tag: backbone views

在骨干视图中访问el之外的click事件

如何访问el范围之外的click事件。 我有什么:HTML: 查看: var ForgotPasswordView = Backbone.View.extend({ el: “#template_loader”, initialize: function () { console.log(‘Forgot Password View Initialized’); }, render: function () { blockPage(); var that = this; $.get(App.baseUrl + ‘templates/forgot-password-view.html’, function (data) { template = _.template(data, { }); that.$el.html(template); unblockPage(); }, ‘html’); }, events:{ ‘click .right_btn’:’forgotPasswordSubmit’, //Doesn’t fire as its outside of el }, forgotPasswordSubmit: […]

Backbone.js查看实例变量?

我正在学习Backbone.js并试图弄清楚是否可以在Backbone视图中使用实例变量。 我的目标是在实例化视图时从外部文件加载视图的模板。 目前我将它们存储在Backbone应用程序的全局命名空间中的全局变量中,但将模板存储在视图的实例变量中会更简洁。 目前我的设置如下: var templates = {}; MessageView = Backbone.View.extend({ initialize: function() { $.get(‘js/Test2Templates.tpl’, function(doc) { var tmpls = $(doc).filter(‘template’); templates[‘MessageView’] = []; tmpls.each(function() { templates.MessageView[this.id] = $.jqotec($.unescapeHTML(this.innerHTML)); }); }); }, render: function() { var tpldata = {name: ‘Ville’, thing: ‘Finland’}; $(‘#display’).jqoteapp(templates.MessageView.greeting_template, tpldata); }, events: { “click input[type=button]”: “additionalTransactions” }, additionalTransactions: function() { this.render(); […]

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 }, […]

如何在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(); }; […]

是否可以阻止Backbone“读取”请求

我有一个拥有许多视图的主干应用程序。 在视图之间切换会触发Ajax请求以获取不同的集合。 如果启动一个新的请求,我想停止当前的“读取”ajax请求。 可能吗?