我正在使用jQuery.如何获取当前URL的路径并将其分配给变量?
示例网址:
http://localhost/menuname.de?foo=bar&number=0
Run Code Online (Sandbox Code Playgroud) @Component和@DirectiveAngular有什么区别?他们似乎都做同样的任务,并具有相同的属性.
有什么用例以及何时优先使用另一个?
我需要在没有ngFor的情况下使用异步管道.我需要检查与observable异步加载的对象的属性.
这就是我想要的,但不起作用:
<ion-item *ngIf="user$.anonymouse | async">
<ion-label>Login</ion-label>
</ion-item>
Run Code Online (Sandbox Code Playgroud)
//编辑:当我使用上面的代码时出现此错误
EXCEPTION:[!user $ .anonymouse |中的管道'AsyncPipe'的参数'true'无效 在SettingsPage @ 27:22中的异步]
有什么方法可以解决这个问题吗?
我知道我可以在Ctrl中将这个observable订阅商店值变成普通变量但是我不想这样做,因为性能等等.
我正在尝试使用 JavaScript 模块执行以下代码。我知道 NodeJS 默认是 CommonJS。我的代码在本地工作,但是当我想将其作为 lambda 中的模块运行时,我遇到了以下问题:
错误:
{
"errorType": "ReferenceError",
"errorMessage": "exports is not defined in ES module scope\nThis file is being treated as an ES module because it has a '.js' file extension and '/var/task/package.json' contains \"type\": \"module\". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.",
"trace": [
"ReferenceError: exports is not defined in ES module scope",
"This file is being treated as an ES module because it has a …Run Code Online (Sandbox Code Playgroud) 使用异步管道使用可观察数据服务直接在视图中更新数据,这证明难以测试(正常工作正常).
我希望能够更新视图,触发单击事件,然后测试模型是否已正确更新(由于单击),但在测试中,异步管道在其绑定的observable触发时不会呈现任何内容事件.所以我无法在测试中与DOM交互并测试交互的结果.
找不到任何人使用异步管道对组件进行单元测试的例子,所以我很茫然.任何反馈意见.
测试:
it('Updates the availability model correctly after UI interaction.', done => {
this.instance.morning$
.subscribe(data => {
let checkboxes = this.fixture.nativeElement.querySelectorAll('ion-checkbox');
TestUtils.trigger(checkboxes[0], 'click');
let morningModel = this.instance.model.morning;
expect(morningModel[0].v).toEqual(true);
done();
});
});
Run Code Online (Sandbox Code Playgroud)
模板:
<td *ngFor="let day of morning$ | async">
<ion-checkbox [(ngModel)]="day.v"></ion-checkbox>
</td>
Run Code Online (Sandbox Code Playgroud)
零件:
@Component({
templateUrl: 'build/modules/availability/availability.view.html',
selector: 'availability',
providers: [AvailabilitySvc],
directives: [Checkbox]
})
export class AvailabilityCom {
@Input() userId: string;
public morning$: any;
constructor(private svc: AvailabilitySvc) {
this.morning$ = svc.morning$;
this.setEvents();
}
ngOnInit(){
this.getAvailability();
}
getAvailability(){
return this.svc.get(this.userId); …Run Code Online (Sandbox Code Playgroud) unit-testing asynchronous ionic-framework angular2-observables angular
我正在努力一点一点地迁移一个大的angular.js应用程序(使用ui-router)到角度,我选择使用angular.js应用程序作为基础并一次迁移一个不同的路由,这样我曾经我完成了我立刻将所有东西切换到角度.
这些是我遵循的步骤:
在我的main.ts文件中启动angular.js应用程序:
export function bootstrapAngular(extra: StaticProvider[]): any {
setAngularJSGlobal(angular);
if (environment.production) {
enableProdMode();
}
return platformBrowserDynamic(extra)
.bootstrapModule(AppModule)
.catch(err => console.log(err));
}
const downgraded = angular
.module('downgraded', [downgradeModule(bootstrapAngular)])
.directive('appRoot', downgradeComponent({ component: RootComponent, propagateDigest: false }))
;
angular.bootstrap(document, ['app', downgraded.name]);
Run Code Online (Sandbox Code Playgroud)
在我的index.html里面
<app id="app"></app>
Run Code Online (Sandbox Code Playgroud)
这很好用.
在我的主要angular.js组件中,我添加了降级后的主角度组件的标签:
<div class="app__view" id="appContent">
<ui-view></ui-view>
<app-root></app-root>
</div>
Run Code Online (Sandbox Code Playgroud)
这就是我的主模块的配置方式
const COMPONENTS = [
TestComponent,
RootComponent,
];
@NgModule({
declarations: COMPONENTS,
imports: [
BrowserModule,
NxModule.forRoot(),
RouterModule.forRoot(routes, {
initialNavigation: 'enabled',
useHash: true
})
],
providers: [
{ provide: APP_BASE_HREF, useValue: '/' …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一些环境变量,但是当我创建文件并运行服务器时,似乎未定义。我正在使用nodemon. 我已经重新启动了我的服务器,但没有运气。
更新
.env
MONGO_ATLAS_PW = "xxxx";
JWT_KEY = "secret_this_should_be_longer";
Run Code Online (Sandbox Code Playgroud)
包.json
...
"scripts": {
...
"start:server": "nodemon ./server/server.js"
}
Run Code Online (Sandbox Code Playgroud)
应用程序.js
require('dotenv').config();
...
console.log(process.env.JWT_KEY); //undefined
Run Code Online (Sandbox Code Playgroud) 我正在尝试将Base64字符串转换为PDF并在浏览器中下载,并且生成的PDF不可读:
app.component.html - >
<div style="text-align:center">
<form>
<div class="form-row text-center">
<button type="button" class="btn div-button" (click)="showPdf()">PDF</button>
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
app.component.ts - >
import {Component} from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
showPdf() {
const pdfInBase64 = 'JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL091dGxpbmVzIDIgMCBSDQovUGFnZXMgMyAwIFINCj4+DQplbmRvYmoNCg0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCg0KMyAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0NvdW50IDINCi9LaWRzIFsgNCAwIFIgNiAwIFIgXSANCj4+DQplbmRvYmoNCg0KNCAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovRm9udCA8PA0KL0YxIDkgMCBSIA0KPj4NCi9Qcm9jU2V0IDggMCBSDQo+Pg0KL01lZGlhQm94IFswIDAgNjEyLjAwMDAgNzkyLjAwMDBdDQovQ29udGVudHMgNSAwIFINCj4+DQplbmRvYmoNCg0KNSAwIG9iag0KPDwgL0xlbmd0aCAxMDc0ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBIFNpbXBsZSBQREYgRmlsZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIFRoaXMgaXMgYSBzbWFsbCBkZW1vbnN0cmF0aW9uIC5wZGYgZmlsZSAtICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCigganVzdCBmb3IgdXNlIGluIHRoZSBWaXJ0dWFsIE1lY2hhbmljcyB0dXRvcmlhbHMuIE1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NTIuNzUyMCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDYyOC44NDgwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjE2Ljg5NjAgVGQNCiggdGV4dC4gQW5kIG1vcmUgdGV4dC4gQm9yaW5nLCB6enp6ei4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjA0Ljk0NDAgVGQNCiggbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDU5Mi45OTIwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNTY5LjA4ODAgVGQNCiggQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA1NTcuMTM2MCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBFdmVuIG1vcmUuIENvbnRpbnVlZCBvbiBwYWdlIDIgLi4uKSBUag0KRVQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCjYgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCAzIDAgUg0KL1Jlc291cmNlcyA8PA0KL0ZvbnQgPDwNCi9GMSA5IDAgUiANCj4+DQovUHJvY1NldCA4IDAgUg0KPj4NCi9NZWRpYUJveCBbMCAwIDYxMi4wMDAwIDc5Mi4wMDAwXQ0KL0NvbnRlbnRzIDcgMCBSDQo+Pg0KZW5kb2JqDQoNCjcgMCBvYmoNCjw8IC9MZW5ndGggNjc2ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBTaW1wbGUgUERGIEZpbGUgMiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIC4uLmNvbnRpbnVlZCBmcm9tIHBhZ2UgMS4gWWV0IG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NzYuNjU2MCBUZA0KKCBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY2NC43MDQwIFRkDQooIHRleHQuIE9oLCBob3cgYm9yaW5nIHR5cGluZyB0aGlzIHN0dWZmLiBCdXQgbm90IGFzIGJvcmluZyBhcyB3YXRjaGluZyApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY1Mi43NTIwIFRkDQooIHBhaW50IGRyeS4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NDAuODAwMCBUZA0KKCBCb3JpbmcuICBNb3JlLCBhIGxpdHRsZSBtb3JlIHRleHQuIFRoZSBlbmQsIGFuZCBqdXN0IGFzIHdlbGwuICkgVGoNCkVUDQplbmRzdHJlYW0NCmVuZG9iag0KDQo4IDAgb2JqDQpbL1BERiAvVGV4dF0NCmVuZG9iag0KDQo5IDAgb2JqDQo8PA0KL1R5cGUgL0ZvbnQNCi9TdWJ0eXBlIC9UeXBlMQ0KL05hbWUgL0YxDQovQmFzZUZvbnQgL0hlbHZldGljYQ0KL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcNCj4+DQplbmRvYmoNCg0KMTAgMCBvYmoNCjw8DQovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQ0KL1Byb2R1Y2VyIChOZXZyb25hIERlc2lnbnMpDQovQ3JlYXRpb25EYXRlIChEOjIwMDYwMzAxMDcyODI2KQ0KPj4NCmVuZG9iag0KDQp4cmVmDQowIDExDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTkgMDAwMDAgbg0KMDAwMDAwMDA5MyAwMDAwMCBuDQowMDAwMDAwMTQ3IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAwMDM5MCAwMDAwMCBuDQowMDAwMDAxNTIyIDAwMDAwIG4NCjAwMDAwMDE2OTAgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyNDU2IDAwMDAwIG4NCjAwMDAwMDI1NzQgMDAwMDAgbg0KDQp0cmFpbGVyDQo8PA0KL1NpemUgMTENCi9Sb290IDEgMCBSDQovSW5mbyAxMCAwIFINCj4+DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg==\n';
const newBlob = new Blob([pdfInBase64], {type: 'application/pdf'});
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(newBlob); // For IE browser
}
const linkElement = document.createElement('a');
const url = URL.createObjectURL(newBlob);
linkElement.setAttribute('href', url);
linkElement.setAttribute('download', 'sample.pdf');
const clickEvent = new MouseEvent('click', {
'view': …Run Code Online (Sandbox Code Playgroud) 我注意到,当我想编写一个粗箭头函数“ => ”时,我可以做_=>,()=>
或者(_)=>和我的代码功能相同(至少在我的用例中)
它们之间有实际区别吗?如果是,我应该使用哪一个?我()=>大部分时间都在使用,但是有一天有一天我看到某人的代码正在使用,_=>并且我认为它看起来很酷,所以我也开始使用它。
我看到了这篇中等文章https://medium.freecodecamp.org/when-and-why-you-should-use-es6-arrow-functions-and-when-you-shouldnt-3d851d7f0b26,作者声明您可以使用_=>或()=>但未指定是否有区别。
我对 NodeJS 很陌生。我正在尝试创建一个连接到我的 mongoDB Atlas 数据库的简单服务器,但是当我运行我的服务器时,我收到此错误:
UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误要么是因为在没有 catch 块的情况下抛出了异步函数,要么是因为拒绝了一个没有用 .catch() 处理过的承诺。(rejection id: 1) (node:8825) [DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的承诺拒绝将使用非零退出代码终止 Node.js 进程。
根据我搜索的内容,这似乎是一个常见问题,我添加了 try/catch 但它仍然无法正常工作。
'use strict';
//const AWS = require('aws-sdk');
const express = require('express');
const mongoose = require('mongoose');
const uuidv4 = require('uuid/v4');
//exports.handler = (event, context, callback) => {
mongoose.connect(
'mongodb+srv://xxxx:xxxx@cluster0-us8bq.mongodb.net/test?retryWrites=true',
{
useNewUrlParser: true
}
),
() => {
try {
//something
} catch (error) {
console.error(error);
}
};
const connection = mongoose.connection;
connection.once('open', () => {
console.log(' Connection to DB was succesful'); …Run Code Online (Sandbox Code Playgroud) angular ×4
javascript ×4
node.js ×3
angularjs ×1
async-await ×1
asynchronous ×1
aws-lambda ×1
base64 ×1
ecmascript-6 ×1
jquery ×1
json ×1
ng-upgrade ×1
node-modules ×1
path ×1
pdf ×1
rxjs ×1
typescript ×1
unit-testing ×1
url ×1