草庐IT

coffeeScript

全部标签

javascript - Coffee Script 不会在页面更改时触发,但会在页面加载时起作用。 [ rails 5]

我在我的Rails项目中使用CoffeeScript,但问题是它仅在我加载(刷新)页面时起作用,而不是在页面呈现时起作用,它也应该在页面View更改时起作用。这是我正在使用的脚本:facebook.js.coffeejQuery->$('body').prepend('')$.ajaxurl:"#{window.location.protocol}//connect.facebook.net/en_US/all.js"dataType:'script'cache:truewindow.fbAsyncInit=->FB.init(appId:env["app_id"],cookie:tr

javascript - 主干集合保持模型变异的排序顺序

如果我有一个带有比较器的集合。(在CoffeeScript中)classWordsextendsBackbone.collectioncomparator:(word)->word.get('score')如果我正在更改,我如何保持集合排序基础项目的分数。这个想法是将其附加到ListView,其中带有最低分总是在最前面。我一直在对集合手动调用排序每次我改变一个实例,但这似乎不是鉴于整个列表已排序,效率太高有一个项目。我可能会尝试删除变异的项目并且然后再添加。有什么建议吗? 最佳答案 由于一个简单的原因,渲染代码看起来效率非常低:DO

javascript - 为什么 jasmine-node 找不到我的规范文件?

我已经使用npm安装了jasmine-node。我的项目目录结构如下:|-lib\|-taxCalc.js|-spec\|-taxCalc.spec.coffee|-taxCalc.spec.js|-src\|-taxCalc.coffee当我使用以下命令(对于CoffeeScript)从根文件夹运行jasmine-node时:jasmine-node--coffee--verbosespecFinishedin0.015seconds0tests,0assertions,0failures如果我运行JavaScript版本,则相同。如果我明确指向spec文件测试运行正常:jasmin

javascript - Mocha 作为图书馆

我想使用mocha(node.js测试框架,而不是ruby​​模拟库)作为库,而不是使用mocha可执行文件来运行我的测试。是否可以通过这种方式运行mocha测试?这些示例都只是调用mocha库,假设它们已经“需要”,并且mocha可执行文件提前完成所有“需要”,但我真的更愿意在我的脚本中明确地执行它们,这样我就可以简单地在我的脚本上设置+x并直接调用它。我可以做这样的事情吗?#!/usr/bin/envcoffeemocha=require'mocha'test=mocha.Testsuite=mocha.Suiteassert=require("chai").assertthing

javascript - 如何使用 CoffeeScript 在同一个循环中创建两个数组?

我想同时创建两个数组b和c。我知道有两种方法可以实现它。第一种方法是b=([i,i*2]foriin[0..10])c=([i,i*3]foriin[0..10])alert"b=#{b}"alert"c=#{c}"这种方法对于只创建一个数组非常方便。我不可能是获得更好计算性能的更好方法。第二种方法是b=[]c=[]foriin[0..10]b.push[i,i*2]c.push[i,i*3]alert"b=#{b}"alert"c=#{c}"这个方法看起来计算效率不错但是有两行b=[]c=[]必须先写。我不想写这两行,但我还没有找到答案的好主意。如果不对b和c的数组进行初始化,我们就

javascript - 如何在 atom 的包内设置断点?

我想弄清楚为什么这个原子包https://github.com/AtomLinter/linter-elixirc/行为不端。它的作者说我应该在包的某些函数中设置断点以查看那里发生了什么。我不知道如何在运行atom时执行此操作。这是我正在谈论的评论:https://github.com/AtomLinter/linter-elixirc/issues/63#issuecomment-214916262 最佳答案 当您在Atom中时,按Ctrl+Alt+I(或查看->开发人员->切换开发人员工具)将打开开发人员工具。如果你知道Chro

javascript - 在 coffeescript 中声明全局变量

我将GemCoocon用于嵌套表单。如果选中.checkBoxCurrentJob,我需要隐藏#end_date_job_portfolio字段。问题是,如果用户没有单击添加新的嵌套表单,jQuery将看不到这些标签,因为这些标签还不在文档中。为此,我使用了cocoon:after-insert。这是我的脚本:$(document).ready->checkbox_date=""end_date=""$('.experiences').on'cocoon:after-insert',->checkbox_date=$(".checkBoxCurrentJob")end_date=$('

javascript - 为什么 backbone.js 在访问模型时返回一个空数组?

我有一个路由器访问它的集合。我的for循环没有遍历模型,所以我尝试记录集合以查看它返回的内容。事实证明,当我直接记录集合时,我会按预期看到所有模型。但是如果我尝试记录集合的模型属性,我会得到一个空数组!这没有意义。这些线直接相互跟随。我尝试更改顺序并得到相同的结果。console.log(this.collection);=>Shots_byCid:Object_byId:Objectlength:15models:Array[15]__proto__:Shots...console.log(this.collection.models);=>[]console.log(this.co

javascript - 具有多个返回值的 Jasmine spyOn

我想用Jasmine测试我的Angular应用程序。所以我创建了一些测试,其中大部分都运行良好。但是,我的功能之一要求用户填写提示。测试无法填充此提示,所以我用spyOn(window,'prompt').and.returnValue('test')模拟了它们。这有效,但只有一次。当我添加两个组件(提示所在的函数)时,我想spyOn第一个提示结果为“test”,第二个提示结果为“test2”。我试过这样做:it'shouldplacethecomponentaslastobjectintheform',->spyOn(window,'prompt').and.returnValue(

javascript - Backbone 事件未触发

我知道已经有其他帖子与此相关,但到目前为止,我看到的答案没有帮助,而且与我的情况略有不同。window.BotView=Backbone.View.extendinitialize:->_.bindAll@,'alert','render'@el#bycallingthishere,itinitializesthejQueryobjectel:$("#submit")model:Chatbotevents:"click#submit":"alert"alert:->console.log("alertcalled")alert("eventobserved")render:->aler