Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Backbone.js_IT技术博客_编程技术问答 - 「Fatal编程技术网」

backbone.js:创建集合时定义初始模型集

我正在创建一个主干视图,用于显示用户在我的webapp中创建的文件夹列表。但是我想在列表中也显示一个默认条目,如no folder。 我不想在视图中插入DOM,只想向集合中添加一个模型,该模型不会同步到服务器,而只是用于在视图中渲染 我有办法做到这一点吗?我试过这个,但失败了 var def = {'name': 'none', 'selected': 'true'}; var coll = new app([def]); // model here var appitem = Backbon

使用Express.js和Backbone.js设置默认路由

我正在使用Express和Backbone.js构建一个站点。我想在前端处理尽可能多的事情 有一件事我很困惑,那就是如何将路由请求延迟到主干网而不是Express。我知道主干网现在可以处理诸如“/this/here”之类的路由,但Express当然会首先解释这一点 最好的办法是什么?我是否应该在Express中创建一个全局路由来处理我没有明确定义的所有内容 我可能完全错了,但是express是服务器端框架,而主干是客户端框架。 从分析传入请求和交付资源的意义上讲,只有服务器端框架负责路由 我认为

如何生成模型id';s与Backbone.js一起使用

我正在设置主干同步机制,有点困惑在哪里为模型生成id 当我创建一个新模型时,主干网是否应该生成和设置id,或者我应该实现一个id生成方法,或者是否有某种机制将数据“放入”服务器,它生成id并返回id为的模型?我从您的问题中了解到,您希望有一个包含服务器上存在的模型的集合。为了将这些模型放入集合中,您必须在集合中添加调用'fetch()' url应该是“/users”或类似的东西,必须返回一个包含用户数据的对象数组。然后,数组中的每个项都将传递给UserCollection.add()。好吧,实际

Backbone.js js如何用整个数据库表填充集合

我已经定义了一个模型和一个集合,由于我的数据库中已经有记录,我希望在页面加载时显示应用程序中的所有记录 我尝试使用Backbone.sync,但在Chrome调试模式下仍然看到一个空集合 My Backbone.js代码: (由于模板依赖性,我不得不删除一些代码) 以下是我在Backbone.sync之后的集合中看到的内容: d _byCid: Object _byId: Object length: 0 models: Array[0] __proto__: x 您可能不应该直接调用sync

Backbone.js 同一父视图下的两个看似独立的视图应该如何交互 请考虑以下情况: <ParentView> <FilterSubview></FilterSubview> <ListSubview></ListSubview> </ParentView>

举个例子:我有一个视图,它依次显示带有过滤器的视图(用户可以选择显示书籍、杂志或两者)和带有项目的列表。 过滤器和列表都有相应的模型。过滤器-我们可以过滤什么。列表-所有项目的列表 用例:用户看到完整列表,然后可以通过仅选择所需类别来过滤结果 问题: 这两种观点应该如何互动?他们应该相互了解还是应该由父视图处理 谁应该存储要显示的筛选列表?它可以是直接的列表子视图模型,或者父视图可以过滤完整的列表,然后将其传递给渲染 对于您的问题,没有一个正确的答案,但我将尝试在这里解释一种常见的惯用方法 两

Backbone.js 主干视图中的范围界定问题

我正在使用Backbonejs视图中的Easeljs创建一个简单的工程视图。我在侦听器事件中遇到范围问题,例如: this.stage.addEventListener("stagemousedown", this.handleMouseDown); 我开始这样做是为了回避我的范围问题 var self = this; this.stage.addEventListener("stagemousedown", function(){ var foo = self.bar; }); 然

Backbone.js backbonejs的下划线模板错误

打开此带有Backbonejs的html代码时,Chrome Java脚本控制台将抛出以下错误-uncaught TypeError:无法调用未定义的方法“replace”, 但是当我删除这一行代码时,它包含了下划线模板this.template=..template($('.#listing').html()) 从列表\u视图的初始化方法中,其工作正常。为什么使用下划线模板会引发错误?? 这是密码 <!DOCTYPE html> <html> <head>

Backbone.js 在使用mocha和phantomjs执行任何测试之前,如何确保主干视图完全呈现?

这就是我正在做的 我的测试脚本 主干视图 描述 当我运行测试脚本并加载url#products时,products视图将呈现到html正文中。我希望测试用例检查视图生成的DOM元素。看起来测试是先运行的,即在视图呈现dom元素之前,因此测试失败。如何确保视图在我的测试运行之前完全呈现?在Mocha中,异步代码应该包含在每个之前的部分中,以确保它在测试之前执行 在您的情况下,请尝试在此部分中重新渲染视图: beforeEach(function() { productListView.re

Backbone.js 当值不为';不变

backbone.js的一个已知特性是,当您设置未更改的数据时,它不会触发更改事件,也不会进行验证。但是,当我存储来自存储后端验证结果的AJAX调用的JSON响应时,我需要触发更改事件。如果用户继续提交表单,同时将同一字段留空,那么后端验证将返回相同的JSON结果,并且当我将其保存到模型时,不会触发更改事件 我在AJAX成功回调中尝试了几件事,其中我将数据设置到模型中: 尝试的解决方案#1 尝试解决方案#2 这两种情况都不会导致在发出调用且用户具有相同的JSONResponse时再次触发更改事件

Backbone.js-调用fetch.success后集合将继续重置

我有一个集合中的现有项,我想用一个不同的url调用fetch,以引入将被合并的其他项 出于某种原因,即使我使用reset:false标志,也会调用reset,我认为这与我的成功回调有关 是否仍然可以禁用重置事件并仍然使用成功回调 我的回执如下所示: self.collection.fetch({ url: url, add: true, reset: false, success: function() { self.render(); $('.loa

Backbone.js 主干集合上的下划线sortBy函数无法识别集合的对象

我有一个主干收集要分类。我正在使用undescore.js函数。下面是我的代码片段 sortedcollection=collectionToSort.sortByfunctionobj{ 返回目标成本; } 但这给我带来了一个错误,obj是未定义的。仅当按以下方式编写代码时,此选项才起作用: sortedcollection=collectionToSort.sortByfunctionobj{ obj=JSON.parseJSON.stringifyobj; 返回目标成本; }; 我

如何嵌套backbone.js集合?

我在浏览器内存中有三个阵列: 学生=[{studentID:x,firstName:x,lastName:x},{…},{…}] 教师=[{teacherName:x},{…},{…}] 次=[{老师:x,开始:x,结束:x},{…},{…}] 我需要做的是: 呈现学生的下拉菜单 选择学生后,呈现该学生教师的下拉菜单 选择教师后,呈现该教师可用时间段的下拉菜单 我可以使用backbone.js创建所有三个模型、集合和视图,但我无法“连接”它们。我该如何在老师和学生之间嵌套时间?还是有更好的办法

Backbone.js 木偶网主干中的CompositeView中有哪些可用事件?

我找不到可以在CompositeView中收听的可用事件记录 collectionEvents: { "all": "myFunc", "add": "myFunc", } 对于每个正在更新的模型,都会调用上述命令 我正在调用与视图关联的集合的fetch,我想知道整个集合何时更新 谢谢 --Justinwylie使用“重置”事件。使用的事件是主干网提供的,您可以在这里找到:谢谢David。那真的很有用。这是同步事件。我还发现,如果处理“all”事件,传递给函数的第一个

Backbone.js Require.js未找到依赖项

我正在使用require.js,并在我的配置文件中调用以下命令来启动应用程序(使用此页面作为参考:): 但是,当它符合要求时(通过grunt.js),它不会加载主干网和jquery,甚至不会列出任何依赖项。但是,如果我删除应用程序,则需要加载主干网和jquery,例如: require(['backbone', 'jquery'], function(Backbone, $) { console.log('dependancies loaded'); }); main.js requi

Backbone.js 主干:收集和视图渲染

我真的很困惑,需要帮助。(无关:“我花了36个小时才做完某件事,而这最后一部分简直让我发疯了”) 我的代码 我正在添加完整的代码。你能帮我一点忙吗?你的数据有两个相同id的模型吗?在主干中似乎不太可能。请确认这一点。此外,我真的建议将您的MyListModal更改为主干集合,这在上下文中更有意义。 <body> <div id="mycontainer" style="margin: 20px; "> </div> <script type="tex

Backbone.js 从主干中触发的事件获取返回元素

我对一件事感到厌倦。已成功触发并执行。下面是代码 ItemView = Backbone.View.extend({ events: { "click":"onClick" }, onClick: function() { //trigger a custom event, passing the view as first argument Events.trigger('click', this); } }); ListView = Backbone.Vie

Backbone.js 主干收集比较器

我用的是脊梁和木偶 我想对我的集合和渲染视图进行排序 但是奇怪的事情发生了 “/api/note/getList”,它返回(当视图初始化集合时调用) 这是我的收藏 define [ 'models/Note' ], (Note) -> class NoteCollection extends Backbone.Collection model : Note url : '/api/note/getList' compara

Backbone.js 在collection.parse期间未一致调用主干模型.parse

在我的大多数情况下,model.parse是在collection.parse期间调用的。在某些情况下,不会调用model.parse 我在任何情况下都需要它。是否可以将其放置在类似选项中的全局位置:Backbone.emulateHTTP=true 此外,这些文档提供了与model.parse相关的看似冲突的信息 解析(响应、选项) 每当服务器在fetch和save中返回模型的数据时,就调用parse 对比和可能/可能 model.initialize ... 如果将{parse:true}作

Backbone.js 是否要查看集合中的特定模型?

我不确定将具有特定属性的集合传递给视图构造函数的正确方法 例如,我的收藏可能是这样的 var theseMessages = window.App.data.messages.where({ chat_id: 2 }) this.messagesView = new MessagesView({ collection: theseMessages }); 因此,当我想在我的应用程序中呈现此集合,并且只传递具有聊天id:2的模型时,我认为这样做就足够了 [ { "chat_id":

Backbone.js 通过JSON对象获取主干.Collection

在jQuery中,我们可以在执行GET操作时提供json。但我在主干网中看不到任何选项来提供像backbone.collection.create或update这样的对象 collection.fetch({ data: { ip_id: this.column }, success: this.constructing }); 这就是我现在能想到的因为这个.column是一个json对象,所以需要对它进行字符串化。试试这个 collection.fet

Requirejs环境中Backbone.js ajax请求的全局错误处理程序

我从上面的结构中学到,我觉得这样设置ajax错误不是正确的方法 使用主干网和requirejs的正确方法是什么?我就是这么做的。这可能看起来有点老套,但也有道理。这对我来说是这样的:“如果任何API调用都存在权限或身份验证问题,请通过将其重定向到那里来向用户显示拒绝访问页面。”对我来说,我实际上只使用“location.hash=”。如果我决定使用另一个库来处理路由器,那么要真正将jquery与主干网解耦。hi@muhaimin abdul,这有没有办法知道哪个视图、模型或集合称之为ajax?意

Backbone.js 如何检索主干中另一个集合内的集合

我收集了以下结构: [{Object1}{Object2}] 现在Object1={CollectionA:[{},{}]}和Object2={CollectionB:[{},{}] 如何访问CollectionA或CollectionB?您可以通过以下方式访问它们: collection .at(0) //get first element in collection .get('CollectionA') //get CollectionA property 您还可以通过使

Backbone.js 主干历史不会开始

我是个骨子里的新手,这让我发疯: 我用的是脊梁和木偶。 下面是一些代码示例: var Backbone = require('backbone'), Marionette = require('backbone.marionette'), FastClick = require('fastclick'); var MainModule = require('./modules/main'), HomeModule = require('.

保存Backbone.js模型并更新整个集合

我希望能够在主干模型上调用save(),并让后端返回此模型的整个集合,而不仅仅是模型的更改属性。然后我想更新整个返回的集合。这方面的用例如下所示: 用户有多个地址,可以从此集合中选择发货地址。如果她从集合中选择了不同的发货地址,则应将以前的发货地址更新为“仅另一个普通地址”状态。为此,必须更新整个集合,而不仅仅是更改的模型 这在backbone.js中可能吗 提前多谢 是的,这是可能的。您需要覆盖模型上的sync功能 MyModel = Backbone.Model.extend({ syn

Backbone.js 在集合上使用重置与添加-为什么它们有如此大的差异?

修订问题 collection.reset方法与collection.add方法。两者都将模型列表作为输入。但是,当发出单个“reset”事件时,reset会像这样返回对象 {d, _byCid: Object, _byId: Object, _callbacks: Object, length: 3, models: Array[3], __proto__: x} 但是,add方法返回一个简单的数组,如上面的models:array[n]对象中所示。然后可以很容易地执行类似下面我的示例代码中

Backbone.js 为什么要定义BackboneJS模型&;加载jQuery中的视图并将其连接到窗口对象?

我看到很多教程在jQuery加载后初始化主干模型/视图。为什么呢?你以前不能给它下定义吗 例如 jQuery -> class ListView extends Backbone.View el: $ 'body' initialize: -> _.bindAll @ @counter = 0 @render() 可以在加载文档之前定义类,并在加载文档之后初始化视图/模型吗 我还看到在窗口下定义的模型/视图为什么 wi

Backbone.js 返回时未渲染主干集合

我正在用Trigger.io构建一个主干应用程序,当我单击手机工具栏上的后退按钮时,我有点困惑为什么数据会消失 以下是设置: 我有一个视图SearchResultsView,看起来像这样(为了简洁起见删除了Trigger.io代码): 实际上它是这样工作的:当我最初加载页面时,没有结果列表(应该是这样的)。我输入查询并执行搜索,然后它返回,按原样填充列表。然后,我将单击一个项目转到另一个视图,当我单击“上一步”时,列表再次为空 我试图做的是测试集合是否仍然存在,如果仍然存在,继续重新呈现列表,但

Backbone.js 如何构建backbonejs应用程序-单击每个表行backbonejs上的事件

我正在开发一个应用程序,其中一个模板呈现一个有n行的表。现在,在每一行中,我都有一列,列中有编辑和删除等按钮 单击“编辑”时,某个分区的同一窗口中会出现一个编辑表单。该表单需要使用从后端获取的值填充 这里面没什么了不起的。 我的问题是: 我有一个使用以下模板结构呈现完整表的视图: <script type="text/template" id="ledgersing"> <div class="span6 widget"> <div class="widg

Backbone.js保存错误

我在为一个有骨气的问题挠头 我有一个主干视图,其中包含一个调用保存当前模型的函数的事件 这是一个简单的表单,在视图中,我在同步模型之前做了一些验证 this.model.save({ completed : completed, company : company, revenue : revenue, term : term, comments : comments, probability : probability }, {

Backbone.js 对象[Object Object]没有方法';在';

我对主干网很陌生,我正在阅读,以它为例创建一个待办事项列表。我不明白为什么这段代码不起作用: var Todo= Backbone.Model.extend({ defaults: { title : "", completed : false }, initialize: function(){ console.log("model initialized");

Backbone.js 如何在我的路线中使用模型中的过滤器

如果我在我的集合中定义了如下过滤器: filterByEveryday: function(){ return this.models.filter( function(c) { return c.Everyday == true; }) } collection: Breakfast.foods.filterByEveryday() 我如何在路线中使用该过滤器来选择每天的早餐 我的路线是这样的(目前正在获取所有食物) 这里有一些问题

Backbone.js 在主干中触发两次model.save()的更改事件

我已创建视图以听取模型更改。当模型中发生更改时,将调用“渲染”函数并提示“警报”窗口。但它出现了两次,这意味着由于两个更改事件,渲染函数调用了两次 葡萄酒详情视图 app.WineView=Backbone.View.extend({ 这不是因为僵尸视图,因为我有以下代码 Backbone.View.prototype.close=function() { alert("closing view "+this); if(this.beforeClose){ thi

Backbone.js 在marionette.itemview上传递集合无效

我正在制作一个backbone.marionete演示,用于在项目视图上实现集合。 但它没有正确渲染。我已经创建了一个演示,在我将集合传递给它之后,视图不会在其中呈现 var view2 = new MyItemsView({ collection: options.collection }); app.mainRegion.show(view2); 以下是JSFIDLE: 如何处理此问题?请改用CompositeView或CollectionView var te

Backbone.js:基于用户输入的动态模型/集合url

我是个新手,所以请告诉我正确的方法。以下是我所拥有的: 具有3个输入的主干登录视图:serverIP、用户名和密码。我正在进行所有验证,并根据用户之前必须输入的serverIP向后端主机发送jquery ajax()请求 我的后端是js PHP,使用Slim restful框架,检查用户,密码等常用的基本东西 在成功的ajax()调用的回调中,我想设置urlRoot,以便以后使用所有模型和集合,因为我正在使用Slim进行所有数据库交互以及服务器上的这个PHP文件 我尝试在全局app变量上设置它,

Backbone.js 将cid作为参数传递给主干集合get函数并不';在1.0.0版中无法工作

我看过一些关于同一个问题的帖子,但是回复不够或者没有我的正确方向。 因此,我有一个主干集合,当我想从中获取特定的模型时,我希望将cid值传递给.get()函数。但是,通过这样做,我得到了undefined的响应,但是,如果我传入id,那么它工作正常。 他们的文档说cid和id都可以作为参数。你知道怎么做吗 假设我有一个id为5且cid为“abc”的模型。当我写这个时:this.collection.get(5)我得到了所需的模型,但是当我写这篇文章时:this.collection.get('a

Backbone.js 主干:仅对集合触发一次事件';改变';

简单问题:什么是“仅一次”发起活动的最佳方式? 我有一个收集在主干与多个模型。有时一次更新多个模型的属性,在集合上触发多个“更改”事件 仅触发一次“更改”事件,将所有属性更改分组在一起的最佳方式是什么 目前我的最佳想法是使用计时器,但这只会捕获第一个模型属性更改 我们重视所有建议、想法和解决方案。谢谢:) 背景: 在这种情况下,事件触发一个计算量非常大的函数,因此必须避免多次运行。每当您批量更新模型上的属性时,将{silent:true}作为一个选项传递,该选项将禁止触发任何事件。 然后触发一

Backbone.js 主干附加到el级联事件

在我看来,我有以下主干代码(不是完整代码): render:function(){ _.each(this.model_admin.getModelPool(),函数(model){ $(“#anydata”)。追加(“”); view=newapp.Views.ListItemView({el:$(“.list entry”).last(),model:model,admin:this.admin}) view.render(); }); }, App.Views.ListItemView=B

Backbone.js 嵌套木偶布局未渲染

我有两种布局。第一个布局负责呈现一个子布局(由于我的界面相当复杂,很快就会有很多子布局和视图) 以下是第一个布局: App.module('Layouts', function(Layouts, App, Backbone, Marionette, $, _) { Layouts.Editor = Backbone.Marionette.Layout.extend({ tagName: 'div', className: 'content contai

Backbone.js 儿童收藏不是';主干中父模型视图中的t渲染

我似乎无法获得要渲染的子视图模板。它们显示在控制台日志中,并且显示的次数正确,但我无法让它们在浏览器中渲染 目标是父母,步骤是孩子 代码位: 型号: $(function() { window.Goal = Backbone.Model.extend({ defaults: { description: null }, initialize: function() { this.steps = new

Backbone.js 从本地存储/集合生成更好的id

因此,我已经深入到Backbone.js框架中,我终于开始使用模型/集合 事情是这样的。我使用localstorage作为数据库,我的问题是我不想看到我的ID是这样的: id : "53ec77a0-8b06-c31b-d72c-a350741898d0" 是否有一个简单的解决方案可以将id设置为更合适的外观,如1、2、3甚至像cid。我用cid尝试过,但也不好,因为每次从localstorage获取数据时,它都会更改 提前谢谢 /Haris嗯,我不知道您为什么要这样做,定义ID并确保其唯一性

Backbone.js 使用主干设置下拉列表的默认选择

我的问题与之非常相似,只是有一个细微的区别,我不想通过jQuery操作DOM 为此,我所做的是:- 假设我的下拉列表类型为UserType var userType = backbone.Model.extend({ idAttribute: "TypeId", defaults: { TypeId: null, TypeName: null, Selected: false } }); 在这里,我创建

Backbone.js 将dust.js模板与backbone.marionete和require.js一起使用

我正在使用主干网和木偶网构建一个大型应用程序。我计划使用dust.js,而不是使用下划线模板引擎 我已经找到了一个插件,可以做这项工作,但目前我不知道如何使用require.js。另外,除了使用这个插件,还有更好的方法实现灰尘吗 感谢您的反馈 下面是示例应用程序中的代码 testView.js 测试粉尘 main.js 我是那个插件的作者。基本上,您需要定义三个依赖项 “主干”、“灰尘”和“木偶”在您的Requirejs配置文件中,然后定义 在初始应用程序设置期间,此模块的AMD版本作为木偶后的

Backbone.js 将新项目添加到';添加';只触发一次

我是个新手,所以这可能是个愚蠢的错误。 当我按下发送按钮(#发送电子邮件按钮)时,一封电子邮件会按其应有的方式呈现 但当我再次按下时,没有更多的电子邮件添加。 我得到的唯一日志是:(第二次+推后) : 换句话说,它甚至不在集合中输入add处理程序。 有人能解释一下为什么以及如何解决这个问题吗 非常感谢! 编辑:如果我删除1封呈现的电子邮件,然后再次按“发送”,则新电子邮件添加正确 此处为相关代码: $(document).ready(function() { //email model

上一页 1 2  3   4   5   6    7   8   9  ... 下一页 最后一页 共 121 页