Tag: underscore.js

JavaScript扩展数组

我有一个对象数组。 在循环期间,我将不同的属性附加到每个条目。 我的问题 – 如何确保每个条目都具有每个条目的所有属性? 让我们考虑一下: var myArray = [{A: 1}, {B: 2}, {C: 3}]; 现在我想运行一些优雅的单行将这个数组转换成: [{A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}]

如何在添加类时设置顺序延迟?

我正在使用jQuery UI插件和最新的jQuery。 我想顺序添加类,逐个添加我的元素数组。 现在我有这个: $(@el).addClass(“gridBoxComplete”, 400, “easeOutBounce”).delay(800) 其中@el是数组中的当前元素。 但是,在运行迭代中的下一个项目之前,这不会延迟此对象。 我基于这个想法基于这个动画。 $(@).hide().each (index) -> $(@) .delay(index * 100) .fadeIn 500

从具有下划线模板的另一个函数jQuery内部调用的事件不起作用

我有一个函数,我曾经在列表中添加元素,我希望在与此列表交互时运行事件,例如单击。 如果我使用文档对象,它工作得很好但是如果我使用带有下划线模板的jQuery,元素会成功附加,但事件不会触发。 var addElement = function(parentElement){ //would work this.thisElement = document.createElement(‘li’); parentElement.appendChild(thisElement); $(this.thisElement).click(function(event){ alert(‘working’); }); //doensn’t work this.template = _.template($(‘#fileListEntity’).html()); var li = this.template(); $(parentElement).append(li); $(li).click(function(e) { alert(‘notWorking’); }); };

如何展平对象的文字属性?

我有一个遗留服务器返回的对象,我想通过JavaScript,jQuery甚至Underscore.js更改客户端的结构。 以下是我原始对象的样子: [ { “Id”:{ “LValue”:1, “Value”:1 }, “Date”:{ “LValue”:”2013-10-17T00:00:00″, “Value”:”2013-10-24T00:00:00″ }, “User”:{ “LValue”:508, “Value”:507 }, “Comments”:{ “LValue”:”This a test load”, “Value”:”This a test” }, “Name”:”John Doe”, “IsDeleted”:false } ] 但是在客户端,我想将它变平以获得“值”并将“LValues”填充到一个单独的属性中,所以如果我以后需要它,我不会松开它们: [ { “Id”:1, “Date”:”2013-10-24T00:00:00″, “User”:507, “Comments”:”This a test”, “Name”:”John Doe”, “IsDeleted”:false, “LValues”: { “Id”:1, “Date”:”2013-10-17T00:00:00″, “User”:508, “Comments”:”This a test load” } } ] 这将使对象的使用变得更加容易,任何帮助都将深深感激!

模板中的下划线条件

这是我的模板: var tmpl = _.template(‘< class=”” ></>’); 我将使用此模板渲染的一些对象没有设置elementClass属性。 我试图使用_.has以便模板只尝试打印定义了elementClass对象的属性,但我没有成功。 控制台错误仅表明未设置elementClass ,可能是因为条件语句无法正常工作。 我知道这是一个简单的问题,但我似乎无法解决它 – 如何在这样的语句中使用条件来检测没有设置某些属性的对象?

如何创建html结构,每个li只允许3个div元素。 在React + underscore.js中

为了创建这个结构,我想只使用underscore.js方法。 我有下面的数组。 var xyz = [{ ‘name’: ‘test’ },{ ‘name’: ‘test1’ },{ ‘name’: ‘test2’ },{ ‘name’: ‘test3’ },{ ‘name’: ‘test4’ },{ ‘name’: ‘test5’ }]; HTML结构应该像这样创建 – test3 test4 test5 test6 test7 test8 我在我的项目中使用React和underscore.js。

将事件绑定到下划线/主干中的动态对象

我正在试图弄清楚如何在没有原型的对象上监听自定义事件,或者在underscore.js / backbone.js中不是dom对象。 例如: //this is inside a view object play: function(arg) { this.a = this.image(this.model.a); this.a.bind(“ready”,start,this);//<— causes error this.b = this.image(this.model.b); this.b.bind("ready",start,this);//<— causes error function start() { // do some stuff in here } //some more stuff }, image: function(args) { // load the image, get its data, attach to original model then return […]

单个函数调用滚动事件?

问题前面:如何更改此脚本,以便向上或向下滚动发生整洁的单一函数调用? 这是一个 清楚地表示问题 的 JSFiddle 。 以下脚本根据用户滚动方向的方向成功推出警报: //Firefox $(‘html’).on(‘DOMMouseScroll’, function(e){ var delta = e.originalEvent.detail; if (delta > 0) { alert(‘You scrolled up’); } else if (delta < 0) { alert('You scrolled down'); } }); //Everything else $('html').on('mousewheel', function(e){ var delta = e.originalEvent.wheelDelta; if (delta 0) { alert(‘You scrolled up’); } }); 但是有一个问题:当我向上或向下滚动时,如果用户向上或向下滚动,则会多次调用该函数,而不是仅仅执行一次。 所以,我的问题是:如何更改此脚本,以便向上或向下滚动发生整齐的单函数调用? 已知的解决方案理念: Underscore.js提供了一项function […]

Javascript基于公共元素合并数组

我正在尝试创建一个单个对象,该对象从两个单独的对象(取自ajax调用)获取信息。 基本上我们有一个标签列表,还有一个元素列表,这些项是相关的,但是标签对象不包含我填充所有数据所需的所有信息。 例如: 标签列表: [ {“id”: 1, “name”: “yadda”, “description”: “yadda yadda”}, {“id”: 2, “name”: “yadda1”, “description”: “yadda yadda1”}, {“id”: 7, “name”: “yadda2”, “description”: “yadda yadda2”}, {“id”: 10, “name”: “yadda3”, “description”: “yadda yadda3”} ] 元素列表(更多信息): [ {“id”: 1, “icon”: “icon1.gif”}, {“id”: 2, “icon”: “icon2.gif”}, {“id”: 7, “icon”: “icon3.gif”}, {“id”: 10, “icon”: “icon4.gif”} ] 我需要通过ID比较两个对象,并将它们组合成一个新对象,使我能够访问这两个对象中的所有数据。 如果它有帮助,这是一个有角度的项目,我已经在使用下划线了,我相信必须有一些方法用下划线做这个,但我不是很熟悉它。

如何在javascript中从debounced函数返回值?

我有这样的代码: var originalFunction = function() { return ‘some value’; }; var debouncedFunction = _.debounce(originalFunction, 3000); console.log(‘debouncedFunction() result: ‘, debouncedFunction()); console.log(‘originalFunction() result: ‘, originalFunction()); (codepen链接) 控制台的结果是: debouncedFunction() result: undefined originalFunction() result: some value 如您所见,去抖动function不会返回任何内容。 据我所知,它是由去抖动function中的内部定时器引起的,但它是否存在?