标签: angular

错误TS2307:找不到模块'@ angular/core'

因此,当我再次尝试构建应用程序时出现以下错误:

ERROR in ../../../node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts(8,42): error TS2307: Cannot find module '@angular/core

我在开发角度应用程序时发生了此错误.我在编程的过程中显然得到了这个,但我没有注意到它,因为只要我做了一些修改,应用程序就会不断编译.这个错误才开始阻止我今天早上构建应用程序.有谁知道这里发生了什么?

完整错误:

ERROR in ../../../node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts(8,42): error TS2307: Cannot find module '@angular/core'.
../../../node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts(9,82): error TS2307: Cannot find module '@angular/core'.
../../../node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts(10,28): error TS2307: Cannot find module 'rxjs/Observable'.
../../../node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts(8,65): error TS2307: Cannot find module '@angular/core'.
../../../node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts(8,27): error TS2307: Cannot find module '@angular/core'.
../../../node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts(9,25): error TS2307: Cannot find module 'rxjs/Subject'.
../../../node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer.d.ts(8,53): error TS2307: Cannot find module '@angular/core'.
../../../node_modules/@angular/cdk/accordion/typings/accordion-item.d.ts(8,60): error TS2307: Cannot find module '@angular/core'.
../../../node_modules/@angular/cdk/bidi/typings/dir.d.ts(8,59): error TS2307: Cannot find module '@angular/core'.




../../../node_modules/@angular/cdk/bidi/typings/directionality.d.ts(8,46): error TS2307: …
Run Code Online (Sandbox Code Playgroud)

typescript angular-material2 angular

7
推荐指数
2
解决办法
2万
查看次数

Angular 2:向动态创建的组件添加指令

我遇到了以下Plunker来动态添加和删除组件.根据以上链接和许多其他SO帖子,我知道如何访问输入和输出属性:

this.compRef.instance.someProperty = 'someValue';
this.compRef.instance.someOutput.subscribe(val => doSomething()); 
Run Code Online (Sandbox Code Playgroud)

而且我还有一个指令"appFont".

import { Directive, ElementRef } from '@angular/core';

@Directive({
  selector: '[appFont]'
})
export class HighlightDirective {
    constructor(el: ElementRef) {
       el.nativeElement.style.font = 'Calibri';
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将这个"appFont"指令添加到新动态创建的组件中?

angular-directive angular-components angular

7
推荐指数
1
解决办法
1824
查看次数

右文本对齐垫 - 扩展 - 面板材料组件

我会将mat-expansion-panel组件的描述文本对齐到右边

我试图使用对齐文本,但没有任何改变这是我的HTML

<mat-expansion-panel>
    <mat-expansion-panel-header>
      <mat-panel-title>
        Cycle ingénieur en informatique
      </mat-panel-title>
      <mat-panel-description>
        2014-2017
      </mat-panel-description>
    </mat-expansion-panel-header>
    ....
  </mat-expansion-panel>
Run Code Online (Sandbox Code Playgroud)

CSS:

mat-panel-description {
    text-align: right;
}
Run Code Online (Sandbox Code Playgroud)

这是实际行为

例

我希望2014年的这段时间能够保持正确.

html css angular-material angular

7
推荐指数
3
解决办法
6271
查看次数

将sass文件捆绑到单个sass文件中

TL; DR:我的问题是如何将我的一些sass文件捆绑到单个sass文件中?

我一直在开发一个Angular组件库,我用ng-packagr打包它.我们称之为@my-lib/ngx-components.

我的lib的消费者将导入我的组件,如@my-lib/ngx-components/navbar.

我决定为组件添加主题支持.

例如,我有一个带有默认颜色(背景,文本,悬停等)的导航栏组件.我希望我的库的消费者能够用自己的主题覆盖这些颜色.这就是为什么我写了一个mixin接受$theme输入并覆盖一些css规则的原因如下(这是我所拥有的基本版本)

_navbar-theme.sass

@mixin navbar-theme($theme) 
    $primary-color: map-get($theme, primary-color)
    $secondary-color: map-get($theme, secondary-color)
    $color: map-get($theme, color)

    .navbar
         background-color: $primary-color
         color: $color
         &:hover
               background-color: $secondary-color
Run Code Online (Sandbox Code Playgroud)

每个组件都有自己的*-theme.sass文件.

我也有全局_theming.sass文件,导入所有这些如下

_theming.sass

@import './components/navbar/navbar-theme'
@import './components/button/button-theme'
@import './components/dropdown/dropdown-theme'
Run Code Online (Sandbox Code Playgroud)

我想_theming.sass从我的lib 导出这个文件,所以人们可以在自己的sass文件中导入这个文件,@import '~@my-lib/ngx-components/theming'并开始使用所有mixin可用的文件.如果他们想拥有定制的navbar,button等等,他们应该能够使用这些mixin单进口秒.

我试图让它看起来像角度材料主题设置.

起初,我已经尝试过node-sass哪些已经存在于我的依赖项中.但是,它试图将sass构建为css,因此它省略了输出文件中的mixins.

然后,我看了一下角质材料做了什么.他们使用scss-bundle

我想"这正是我想要的." 但是,它需要scss文件,而不是sass文件.它无法读取sass文件.

然后,我想"好吧,我可以放弃sass并开始使用scss.如何将所有这些文件转换为scss而不用手工完成它们".然后,我找到了sass-convert …

css sass gulp webpack angular

7
推荐指数
1
解决办法
3110
查看次数

Ionic App v1 - 更新Ionic Framework版本(不是Ionic CLI)

我正在尝试了解如何更新我的Ionic Framework版本.

ionic info

Your system information:

Cordova CLI: 8.0.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 1.1.0
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
OS:
Node Version: v6.9.1
Run Code Online (Sandbox Code Playgroud)

所以当前的Ionic Framework版本是"1.1.0"

我更新了我的bower.json:

{
  "name": "hello-ionic",
  "private": "true",
  "devDependencies": {
    "ionic": "driftyco/ionic-bower#1.3.3"
  }
}
Run Code Online (Sandbox Code Playgroud)

并运行 bower install

但新文件存储在'bower_components'文件夹中

我的文件夹结构:

在此输入图像描述

我还将'bower_components'中的文件复制到'lib'文件夹,并且ionic info'Ionic Framework Version'仍为'1.1.0'之后

android bower ionic-framework angular

7
推荐指数
1
解决办法
1275
查看次数

服务器端渲染在iis中的角度通用中不起作用

我提到了https://github.com/angular/universal-starter并且已经在angular5.server中实现了在iis中托管后无法正常工作.在localhost中可以正常工作:4000

谢谢

angular-universal angular angular5

7
推荐指数
1
解决办法
1343
查看次数

错误:预计没有打开的请求,找到1

当我尝试执行HTTP单元测试用例时,我收到此错误

我正在使用Angular 5.我该如何解决这个问题

下面是我正常GET的代码.下面的代码只是带来正常的GET

import { TestBed } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController, TestRequest } from 
'@angular/common/http/testing';

import { DangerService } from './danger.service';
import { DangerFlag } from '../danger.model';


describe('DataService Tests', () => {
    let dataService: DangerService;
    let httpTestingController: HttpTestingController;

    let testDangerFlags: DangerFlag[] = [ "sample data" ]

    beforeEach(() => {
        TestBed.configureTestingModule({
        imports: [ HttpClientTestingModule ],
        providers: [ DangerService ]
    });

    dataService = TestBed.get(DangerService);
    httpTestingController = TestBed.get(HttpTestingController);
});

afterEach(() => {
    httpTestingController.verify();
});

fit('should get all danger flags', () …
Run Code Online (Sandbox Code Playgroud)

angular

7
推荐指数
3
解决办法
8103
查看次数

Angular 2/4:如何在第一个ajax提交的回调中通过组件发布HTML表单(非ajax)?

我想通过以旧学校方式(非Ajax)POST输入字段将表单提交到外部站点,它也提交但是Angular在跳转到外部页面之前在控制台中给出了错误.

我在HTML(模板)中使用了以下代码

<form (submit)="onSubmit($event)" method="POST"  [formGroup]="form" *ngIf='form' action="https://www.sandbox.paypal.com/cgi-bin/webscr" >
Run Code Online (Sandbox Code Playgroud)

在组件中

onSubmit(obj: any) {

    if (!this.form.valid) {
        this.helper.makeFieldsDirtyAndTouched(this.form);
    } else {
        this.loader = true;
        // save data in online_payment_ipn
        this.paymentService.saveOnlinePaymentIpn({}, 'paypal')
        .subscribe(response => {
            obj.target.submit();
        }, (err: any) => {
            this.loader = false;
            this.helper.redirectToErrorPage(err.status);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,首先这个表单通过普通的反应形式帖子(ajax)在我的网站中保存数据.现在之后我以旧的方式提交表格,像Paypal整个表格一样发布到第三方但我得到了在此输入图像描述

表单提交已取消,因为表单未连接

任何帮助表示赞赏.@HB谢谢

javascript angular2-forms angular angular4-forms

7
推荐指数
1
解决办法
1003
查看次数

如何在Angular App中添加URL Polyfill

我们想在我们的应用程序中使用https://github.com/auth0/angular2-jwt.现在它说,Internet Explorer 11支持需要URL填充.需要帮助或步骤才能在Angular App中添加此polyfill.

polyfills angular

7
推荐指数
2
解决办法
3390
查看次数

关于何时在TypeScript中调用装饰器的困惑

我一直认为TypeScript中的装饰器是在类的构造函数之后调用的.但是,我被告知,例如,这篇文章的最高答案声称在声明类时调用Decorator,而不是在实例化对象时调用.我注册的Angular课程的Udemy讲师也告诉我,Typescript中的装饰器在属性初始化之前运行.

但是,我在这个问题上的实验似乎表明不是这样.例如,这是一个带有属性绑定的简单Angular代码:

test.component.ts

import { Component, Input } from '@angular/core';

@Component({
  selector: 'app-test',
  template: '{{testString}}'  
})
export class TestComponent{    
  @Input() testString:string ="default string";    
  constructor() {
    console.log(this.testString);
   }       
}
Run Code Online (Sandbox Code Playgroud)

app.component.html

<app-test testString="altered string"></app-test>
Run Code Online (Sandbox Code Playgroud)

当我执行代码时,控制台记录"默认字符串"而不是"更改字符串".这证明了在类的构造函数执行后调用decorator.

有人可以给我一个明确的答案,说明何时调用装饰器?因为我在网上的研究与我做的实验相矛盾.谢谢!

javascript decorator typescript angular

7
推荐指数
1
解决办法
2545
查看次数