草庐IT

ember-qunit

全部标签

javascript - Ember.js 动态组件

我有两个模型Admin和User我的申请模板如下//application.hbs{{outlet}}{{header-nav}}我想做什么(如果可能的话)使{{header-nav}}可定制,我解释说:如果admin验证我想渲染组件{{admin-header}}在user进行身份验证的情况下,它应该呈现{{user-header}}。我如何构建要在application.hbs中动态呈现的内容? 最佳答案 您可以使用{{component}}帮助程序,但您需要先确定组件名称,因此,在您的Controller中:nameForCo

javascript - Ember "this"在组件中未定义

我正在尝试制作一个进度条,它会随着更多挑战的完成而更新。但是,组件无法访问该属性,因为它是未定义的。我已经注入(inject)了一个服务,我正在尝试从该服务的一个属性创建一个计算属性。但是,除非在调试中,否则这始终是未定义的。importEmberfrom'ember';exportdefaultEmber.Component.extend({progress:0,game:Ember.inject.service(),events:this.get("game.challenges")});this怎么能在上面的代码中没有定义呢?它如何不绑定(bind)任何范围?我已经投入了这样的调

javascript - 带液体火焰的 Ember 加载模板

我一直在对此进行大量修补,但似乎无法使其正常工作。我希望在等待我的模型promise返回时显示我的加载模板。我的理解是,默认情况下,如果我有app/templates/loading.hbs,这个模板将在所有路由中呈现。然而,即使我在路线之间切换时使用了该模板,旧路线仍然会显示,直到模型返回,此时我的液体火力转换发生,您将被带到下一条路线。我已经尝试过为每条路线创建嵌套加载模板的各种版本,尝试为加载模板的每条路线创建子路线,甚至弄乱了可用的beforeModel/afterModel方法,但我没有取得任何进展。这是我在启动之前要跨越的最后一个障碍,我很困惑为什么我不能让它工作。这是我认

javascript - 在 Ember.js 中销毁对象

假设我创建了一个ember对象,然后将它添加到任意未知数量的数组Controller中。有没有一种简单的方法可以销毁对象,以便通知所有阵列Controller并将其删除?http://jsfiddle.net/FcsRP/destroyfromEmber.CoreObject似乎没有通知集合它们的对象已被销毁,或者集合没有删除它们的对象。我什至不确定它们是否有意。 最佳答案 我能想到的最简单的方法是在对象的isDestroyed属性上添加一个观察者。这样,当您销毁某些东西并且该属性变为true时,您可以运行任何需要的代码。请参阅此j

c# - 如何通过 JavaScript 回调在 C# 中运行 QUnit 测试并返回测试结果?

在我的几个项目中,我使用MVC模式将(关注的)代码分成3层。模型层和控制层都在C#上运行,因此我使用MSTest或NUnit等测试框架来验证这些层的功能需求。对于View层,我使用QUnit来测试JavaScript文件。但是,我无法将QUnit作为自动化测试执行,因为MSTest不直接支持测试网页。我需要像下面的逻辑一样在MSTest中运行它。[TestMethod]publicvoidJavaScriptTest(){varresult=QUnit.Test('~/QUnit/test1.htm');Assert.IsTrue(result.Failed解决方案必须使用QUnit中

javascript - Ember.js:如何在新项目插入 ArrayController 后应用 jquery 插件

所以我有一个以非常标准的方式呈现的ArrayController:{{#eachcontroller}}{{user.name}}:{{message}}{{unbounddatetimeFormatted}}{{/each}}我想要的是在插入新项目后应用jQuery.timeAgo插件,但为此我应该以某种方式获取对插入元素的引用。我尝试了didInsertElement方法,但它仅在呈现整个View时触发,我需要将此插件应用于插入到DOM中的每个新项目。所以,我的问题真的可以这样表述——有没有什么方法可以获取对新插入的DOM元素的引用,或者在新项目添加到ArrayController

javascript - Ember.js 等同于 .difference?

Ember有.difference函数吗likeunderscoredoes?我有一个ArrayController,每个对象中都有一组对象。我想从ArrayController1中减去ArrayController2中的所有对象:ArrayController1:1234ArrayController2:24然后做差异:ArrayController1.difference(ArrayController2)=>13 最佳答案 我认为没有一种方法可以做到这一点,但您可以编写一个主要执行以下操作的助手:array1.reject((

javascript - 在 JQueryUI 小部件的 QUnit 测试中测试可见性

这对其他人来说可能很明显,但我没有通过搜索找到它,所以在这里发布问题和一个可能的答案。背景:自定义JQueryUI小部件使用widgetfactory在小部件中,某些元素会根据其他数据/选项隐藏或显示。创建单元测试以验证它们是否正确显示/隐藏。我认为我的单元测试都可以在内存中创建自己的元素,类似于thisoldanswer.从这个例子中删除了实际的小部件部分:test('show/hide',1,function(){varsomecondition=true;vardiv=$('').hide();if(somecondition)div.show();equal(somecondi

javascript - 在没有 Ember 的情况下编译 Emblem.js

我现在正在尝试emblem.js。它是编写模板的Handlebars的一个非常好的包装器。但是,文档有点依赖于ember.js和handlebars.js。我想在没有Ember的情况下使用Emblem.js,但是没有关于如何编译模板的真正解释。那么我们可以在没有ember的情况下使用emblem.js(或者更好,没有Handlebars依赖)吗?我现在这样做的方式是,我有这个功能来呈现模板:functionrender(target,tmpl,data){varsource=tmpl.html();vartemplate=Emblem.compile(Handlebars,source

javascript - 了解 QUnit 异常测试

在编写QUnit测试时,我对“throws”的行为感到惊讶。关于下面的代码(http://jsfiddle.net/DuYAc/75/),谁能回答我的问题:functionsubfunc(){throw"subfuncerror";}functionfunc(){try{subfunc();}catch(e){}}test("officialcookbookexample",function(){throws(function(){throw"error";},"Mustthrowerrortopass.");});test("Wouldexpectthistowork",functi