草庐IT

angular-promise

全部标签

javascript - 如何访问 promise `.then` 方法之外的变量?

我正在开发Spotify应用程序。我能够登录并获取我的token。我的问题是我无法访问方法外的变量。在这种情况下"getCurrentUser"这是我的方法:functiongetUser(){if($localStorage.token==undefined){throwalert("Notloggedin");}else{Spotify.getCurrentUser().then(function(data){varnames=JSON.stringify(data.data.display_name);console.log(names)})}};如您所见,我在console.l

javascript - 如何在 Angular 5 组件中有条件地加载 templateUrl html 文件

我的项目中有一个场景,考虑一下,我有一个testDynamic组件@Component({templateUrl:"./test-dynamic.html",//NeedtooverridethisfilestyleUrls:['./test-dynamic.css']})exportclasstestDynamic{constructor(){}}这里需要检查覆盖文件夹中是否存在override1.html文件,然后加载此文件作为templateUrl,否则加载组件默认的test-dynamic.html。知道如何实现这一目标吗?引用下图可以清楚理解 最佳

javascript - 导入第三方js文件到angular typescript项目

在我使用Angular的过程中,我被迫使用四种不同的方式来包含第3方库poliglot.js(对于多语言)。为了能够在我的Lang类中使用newPolyglot(...):exportclassLang{...constructor(){this.polyglot=newPolyglot({locale:'en'});...}...}我用这四种方法A.在我相当老的(2016年)angular2(基于framerworkangular2-webpack-starter)项目中(目前由于缺少require指令,该解决方案不起作用在新的Angular项目中):varPolyglot=requ

javascript - 使用 nodemailer angular 6 发送电子邮件

我有一个用于angular6应用程序和nodejs的电子邮件服务的bootstrap表单,我正在使用nodemailer对于我的应用程序中的sendemail,不幸的是不起作用。提交表单时出现以下错误:选项https://localhost:3000/contact/send0()这是表格WritetousNameisrequired.messageisrequired.messageisrequired.SENDMESSAGE这里是contact,js(Node邮件设置和路由)constexpress=require('express');constrouter=express.Ro

javascript - 为什么 array.forEach(() => { array.pop() }) 不会清空数组

在nodejsREPL上,我试图清理一个定义为constarray=[...]的数组,然后发现使用array.forEach(()=>/pop|shift/())将不起作用。在这样的表达式之后,数组中仍会保存值。我很清楚清理数组的更好方法,比如array.splice(0),但我真的很好奇这种行为似乎违反直觉,至少对我而言.这是测试:consta=[1,2,3]a.forEach(()=>{a.shift()})console.log(a)//[3]constb=[1,2,3]b.forEach(()=>{b.pop()})console.log(b)//prints[1]注意事项起初

javascript - 在使用 Angular 删除文件时选择所有复选框时出现问题

这里我正在做的是使用ng2文件上传创建一个“拖放功能”,这里我的问题是当我试图拖放多个文件时,全选功能将被启用,它将全选默认情况下会选中复选框,但在我的场景中,文件删除后不会发生这种情况https://stackblitz.com/edit/angular-r6cbrj1"> AddFilesYouruploadqueueisempty.Draganddropfilestoaddthemtothequeue0"> {{item?.file?.name}}{{item?.file?.size/1024/1024|number:'.2'}}MB{{item?.file?

javascript - 使用 forEach、[].forEach.call(...) 或 Array.prototype.slice.call(...).forEach 迭代类似数组的对象?

我们可以使用以下两种方法实现类数组对象的迭代:letarrayLike=document.getElementsByClassName('dummy');[].forEach.call(arrayLike,(e)=>{console.log(e);});Test1Test2或者先使用slice将类数组对象转换为数组:letarrayLike=document.getElementsByClassName('dummy');Array.prototype.slice.call(arrayLike).forEach((e)=>{console.log(e);});Test1Test2哪个更

javascript - 升级到 Angular 8 后 d3.js 运行时错误

我正在尝试将我的Angular6应用程序升级到Angular8。我的代码可以编译,但我立即收到运行时错误“d3.js:8UncaughtTypeError:Cannotreadproperty'document'ofundefined”。d3.js中失败的行是vard3_document=this.document;。这让我相信Angular8正在严格模式下运行d3.js。我有最新版本的d3节点模块("d3":"3.5.17"),它显然不支持严格模式;我的理解是“this”应该引用窗口​​对象,但这在严格模式下不起作用。我知道Angular8现在使用dart-sass而不是node-s

javascript - 如何在表示矩形的数组中获取与某个索引成对 Angular 线的元素

考虑一个数组,其长度总是两个数字的乘积。对于下面的数组,l是4,w是5。还有一个给定的索引。我想获得两个数组,其中包含位于穿过该特定索引的对Angular线上的元素。[0,1,2,3,45,6,7,8,910,11,12,13,1415,16,17,18,19]index=7=>[3,7,11,15]and[1,7,13,19]index=16=>[4,8,12,16]and[10,16]index=0=>[0,6,12,18]and[0]我试过以下方法:letarr=Array(20).fill().map((x,i)=>i);functiongetDias(arr,l,w,ind)

javascript - 访问 Array.forEach 中的未命名数组

在未命名数组上使用forEach循环时,有什么方法可以访问目标对象的长度属性吗?#I'dliketobeabletodosomethinglike:[1,2,3].forEach(n,i)->console.lognis 最佳答案 Array.forEach的回调采用树参数:值、索引、和正在遍历的数组。所以你可以这样做:[1,2,3].forEach(n,i,thearray)->console.lognisJavascript:[1,2,3].forEach(function(n,i,thearray){console.log(n