草庐IT

if-then-assign

全部标签

javascript - Handlebars.js - 在每个循环、if 语句和子对象中获取父上下文

我了解如何在Handlebars中横穿数据源,但我偶然发现了一种我无法解决的情况。使用“../”您可以到达父模板范围,但是当遍历对象的子对象时,它似乎返回对象而不是子对象。{{#eachcontent.items}}{{#ifprop}}{{prop}}+{{../../variable}}{{/if}}{{/each}}如果您遍历一个名为“content”的对象,上面的代码片段可以正常工作,但是一旦您遍历它的子对象“content.items”,它就不再返回正确的范围。这是一个演示问题的fiddle。http://jsfiddle.net/sidonaldson/MDdn2/任何人都

javascript - 了解已解决 promise 的后续 then() 处理程序的执行顺序

我正在学习Promise,为了理解它,我阅读了一些有关JavaScript事件循环的内容。这article简要介绍了调用栈、事件表、消息队列等事件循环的工作原理。但我不知道调用堆栈如何处理包含“return”的行,以及此后会发生什么。下面是我写的一个例子,希望能理解Promise是如何基于事件循环工作的。另见http://jsbin.com/puqogulani/edit?js,console如果你想试一试。varp1=newPromise(function(resolve,reject){resolve(0);});p1.then(function(val){console.log(

javascript - Jquery-自动完成 : makes the tab key select the first item if no item is selected

这个问题的目标是:通过使用jquery-autocomplete,使tab键能够在没有选择任何项目的情况下选择第一个项目。我实现的代码(1)有效,但我有一些疑问,我想澄清它们,或者如果可能的话,改进/更改代码(1)以实现我的目标。我的疑问是:我太早触发了ENTER:事件调度是异步的(不同的监听器是同步调用的,但它是异步的触发器),所以我可能会在监听器处理DONE之前触发它。因此,我在这里仍然为两个事件使用相同的对象,所以我可能会产生令人讨厌的副作用(如果我在第一次调度期间阻止默认设置,那么第二个调度也会被阻止,因为它是同一个对象,例如).有什么建议/意见吗?附言:这是jsfiddle链

javascript - angularJS:WAITING ng-if 完成,以确保 DOM 已准备就绪

我正在使用ng-if来显示和隐藏一个元素。当该元素出现时,我想调用一个服务,该服务在新元素内滚动到某个子元素(按Id)。问题是,如果我在将元素设置为可见后立即尝试调用我的服务函数,那么DOM似乎还没有准备好。varmyApp=angular.module('myApp',[]);myApp.factory("ScrollService",function(){return{scroll:function(id){console.log(document.getElementById(id));}};});functionMyCtrl($scope,ScrollService){$sco

javascript - promise - TypeError : Cannot read property 'then' of undefined

我想我只需要另一双眼睛看这个,因为我无法得到我在这里缺少的东西。$scope.checkout=function(form){//somecodeherefunctioncheckoutErrorHandler(error){//somecodehere}functiondisplaySuccessMessage(){$scope.success=true;cartService.emptyCart();}checkoutService.makePayment($scope.payment).then(function(i){//somecodeherecheckoutService.

javascript - typescript 键盘事件 : argument of type 'Event' is not assignable to parameter of type 'KeyboardEvent'

即使代码运行完美,我也会出现以下错误:"TS2345:Argumentoftype'Event'isnotassignabletoparameteroftype'KeyboardEvent'.Property'altKey'ismissingintype'Event'."//InaClasspubliclistenTo=(window:Window)=>{['keydown','keyup'].forEach(eventName=>{window.addEventListener(eventName,e=>{this.handleEvent(e);//{const{key}=event

javascript - 为什么在使用 && 时 IF 语句中有两个 !!?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whatisthe!!(notnot)operatorinJavaScript?我正在查看一些代码,看到一个IF语句,如下所示。谁能告诉我为什么有两个!!而不是一个?我以前从未见过这个,也无法在谷歌上挖掘任何东西,因为它忽略了特殊字符。if(!!myDiv&&myDiv.className=='visible'){}

javascript - Object.assign 删除现有属性

我可能误解了Object.assign()的工作原理,但我没想到它会删除现有属性,例如:varo1={"status":"","app":{"version":"1.3.1.91","latest_version":"1.3.1.91"}}varo2={"status":"listening","app":{"latest_version":"1.3.2.879"}}console.log(Object.assign({},o1,o2));输出:{"status":"listening","app":{"latest_version":"1.3.2.879"}}我期望的是:{"stat

javascript - 当我不使用 Promise 的 "then"函数时,是否有任何(负面)副作用?

我有一个返回Promise的函数。现在,有时消费者在该Promise上使用“then”函数是有意义的。但有时消费者根本不关心Promise何时解析,也不关心结果-换句话说,同样的函数也应该能够以“即发即弃”的方式调用。所以我想要这两种使用场景:func().then(...);//processPromisefunc();//"fireandforget"这显然有效,但我想知道这是否被视为“不良做法”,特别是这种使用模式是否会产生任何不良副作用,即。导致内存泄漏?现在我正在使用bluebird,但如果有任何不同,我会考虑切换到原生Promises。 最佳答案

javascript - 为什么我的指令在使用 AngularJS 1.5 时第一次使用 ng-if 运行时没有进入动画?

http://codepen.io/anon/pen/MygQvb我使用的是Angular1.4.7,然后决定升级。在那之后,使用ng-if的指令上的所有动画都在它们应该发生的第一次停止工作。上面在Codepen上的例子说明了我的意思,如果你切换ng-if它不会在第一次工作,但后来它工作得很好。有一些类似的问题,但都没有解决我的问题,而且我在旧版本的Angular上也从未遇到过这个问题。真正的解决方案会很棒,但如果不可能,欢迎任何解决方法。 最佳答案 正如jjmontes所说,变通方法要求在template中声明指令的模板,而不是使