小编Tom*_*Tom的帖子

组件不是任何NgModule的一部分,或者模块尚未导入模块

我正在构建一个角度4应用程序.我收到错误组件HomeComponent没有任何NgModule的部分或模块尚未导入到你的模块.我创建了HomeModule和HomeComponent.我需要在AppModule中引用哪一个.我有点困惑.我是否需要参考HomeModule或HomeComponent.最终我要找的是当用户点击主菜单时,他应该被定向到将在索引页面上呈现的home.component.html.

App.module

Error:Component HomeComponent is not part of any NgModule or the module has not been imported into your module.
Run Code Online (Sandbox Code Playgroud)

HomeModule

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http'

import { AppComponent } from './app.component';
import { NavbarComponent } from './navbar/navbar.component';
import { TopbarComponent } from './topbar/topbar.component';
import { FooterbarComponent } from './footerbar/footerbar.component';
import { MRDBGlobalConstants } from './shared/mrdb.global.constants';
import { AppRoutingModule } from …
Run Code Online (Sandbox Code Playgroud)

angular

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

TypeScript 编译中缺少 ts。请通过“文件”或“包含”属性确保它在您的 tsconfig 中

我已将 angular 4 应用程序升级到 angular 6。我基本上有两个项目。父项目在子项目中被打包和引用。下面的屏幕截图显示了在客户端项目中引用的名为 @wtw 的父项目文件夹。@wtw 文件夹位于 node_modules 文件夹下。子项目在 Angular 版本 4 中构建父包很好。自从升级到 6 后,它抱怨 wtw 文件夹下的 ts 文件似乎从 TypeScript 编译中丢失了。我是否需要在 tsConfig 文件中明确包含路径。

我尝试在 tsConfig 中添加以下内容但没有区别

"inlcude": [
    "node_modules/@wtw/**/*"
  ]
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

ts配置文件

{
  "compileOnSave": false,

  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types",
      "type-definition"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  },
  "inlcude": [
    "node_modules/@wtw/**/*"
  ]
}
Run Code Online (Sandbox Code Playgroud)

angular.json 文件

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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

找不到模块'rxjs-compat/Observable'

我目前正在将角度4升级为角度6代码.我已经安装了"rxjs":"^ 6.3.2"和未安装的rxjs-compact,因为我已经迁移了代码以使用新的rxjs运算符.我仍然遇到以下错误.不知道原因

ERROR in [at-loader] ./node_modules/rxjs/BehaviorSubject.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/BehaviorSubject'.

ERROR in [at-loader] ./node_modules/rxjs/Observable.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Observable'.

ERROR in [at-loader] ./node_modules/rxjs/Observer.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Observer'.

ERROR in [at-loader] ./node_modules/rxjs/Operator.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Operator'.

ERROR in [at-loader] ./node_modules/rxjs/Subject.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Subject'.

ERROR in [at-loader] ./node_modules/rxjs/Subscription.d.ts:1:15
    TS2307: Cannot find module 'rxjs-compat/Subscription'.
Run Code Online (Sandbox Code Playgroud)

rxjs angular

17
推荐指数
5
解决办法
4万
查看次数

使用Entity框架核心生成和访问存储过程

我正在使用Visual Studio 2017实现Asp.Net核心Web API,实体框架核心,数据库第一种方法.我已经设法基于现有数据库生成上下文和类文件.我需要使用我的上下文访问存储过程.在早期版本的实体框架中,通过在向导中选择存储过程对象并生成包含这些对象的edmx,可以很简单.然后,我可以通过实体框架公开的复杂类型对象访问存储过程.我如何在实体框架核心中做类似的事情.一个例子会有帮助吗?

entity-framework entity-framework-core asp.net-core

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

Windows上的多个版本的节点

我目前安装了以下版本的Windows机器.

node:v7.3.0 npm:3.10.10 @ angular/cli:1.4.2

我想安装上面的最新版本,并能够相应切换.据我所知,节点的安装控制着它.如果我需要安装最新的npm和angular cli,那么我需要安装最新版本的节点.如果我错了,请纠正我.我可以全局安装最新版本的nodejs.一旦我安装,我可以在节点版本之间切换.我认为节点版本之间的切换会注意使用适当的npm和cli.

node.js angular

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

滚动器上的固定标头在角度应用程序中正常工作

我正在尝试在我的角度应用程序中对我的页面应用固定标题,并且无法使其完全正常工作.因此,当前如果用户在页面上展开手风琴并向下滚动,则标题会得到修复,但是当页面折叠或向上滚动时,标题应该是正常的.所以我编写的代码逻辑在一个时间点工作,但是当所有的手风琴都被打开时失败了.我觉得this.stickyTabsOffset值没有正确设置存在问题.

因此,当用户向下滚动标签标题时,div(标签下方的黑色部分)应该在到达窗口顶部时得到修复.在ngAfterViewInit方法中,我调用getelementById和两个元素:strategyTabs(标签的div id)和stragegyDetails(黑色部分的div id),然后设置this.stickyTabsOffset = this.stickyTabs.offsetTop; 我也试过以下

this.stickyTabsOffset = this.stickyTabs.offsetHeight + this.strategyDetails.offsetHeight;
this.stickyTabsOffset = this.stickyTabs.offsetTop + this.strategyDetails.offsetTop;
Run Code Online (Sandbox Code Playgroud)

当手风琴处于关闭状态时的屏幕截图.

在此输入图像描述

import { Component, OnInit , AfterViewInit, HostListener } from '@angular/core';

 export class ResultsComponent extends Base.ReactiveComponent implements OnInit, AfterViewInit {

    @HostListener('window:scroll', [])
        onWindowScroll() {
            if (window.pageYOffset >= this.stickyTabsOffset) {
                this.stickyTabs.classList.add('sticky');
                this.strategyDetails.classList.add('fix-Container');
            } else {
                this.stickyTabs.classList.remove('sticky');
                this.strategyDetails.classList.remove('fix-Container');
            }
        }

        ngAfterViewInit() {
            const interval = setInterval(() => {
                this.stickyTabs = document.getElementById('strategyTabs') as any;
                this.strategyDetails = document.getElementById('strategyDetails') as any;
                if (this.stickyTabs && this.stickyTabs !== 'undefined' ) …
Run Code Online (Sandbox Code Playgroud)

html angular

11
推荐指数
1
解决办法
1108
查看次数

冻结页面垂直滚动的前两行

我实现了一个在角度上水平滚动的表,并且要求在垂直滚动时固定前两列。我创建了一个堆栈闪电来显示两个表。我要寻找的是,当用户滚动第二张表时,前两行即“合法类别名称”和“基金名称”应该是固定的。

我试图将以下类应用于相应的tds,但没有用

.stickyRows {
    position: sticky;
}
Run Code Online (Sandbox Code Playgroud)

这是堆叠闪电战

https://stackblitz.com/edit/angular-o2ukfs

.stickyRows {
    position: sticky;
}
Run Code Online (Sandbox Code Playgroud)
        th {
            padding: 7px;
            position: sticky;
            left: 0px;
            min-width: 250px;
            width: 250px;
            background-color: #f5f7f7;
        }
    
    
        td {
            padding: 7px;
            min-width: 250px;
            /* max-width: 300px; */
        }
    
        .fundClassesTable {
    
            table-layout: fixed;
        }
    
    
        .cellbgcolor {
            color: transparent;
        }
    
        .btn {}
    
        .tableItem {
            text-align: left;
            border-left: solid 1px lightgrey;
            border-top: solid 1px lightgrey;
            border-right: solid 1px lightgrey;
            border-bottom: solid 1px lightgrey;
    
        }
    
        .rowItem:hover {
            background-color: #f5f7f7;
        }
    
    
        label { …
Run Code Online (Sandbox Code Playgroud)

html css angular

11
推荐指数
1
解决办法
445
查看次数

错误:模块导出的意外值'undefined'

我正在使用cli构建一个角度4应用程序.我创建了一个共享模块,并在我的appmodule和moviemodule中导入了该模块.我收到编译时错误未捕获错误:模块'SharedModule'导出的意外值'undefined'

有人能告诉我问题是什么我仔细检查了语法.我在这里错过了一些东西

错误信息

在此输入图像描述

共享模块

import { NgModule }            from '@angular/core';
import { CommonModule }        from '@angular/common';
import { FormsModule }         from '@angular/forms';
import { GridModule } from '@progress/kendo-angular-grid';


@NgModule({
  imports:      [ CommonModule
                    , GridModule ],

  exports:      [ 
                    , CommonModule
                    , FormsModule 
                    , GridModule 
                    ]
})
export class SharedModule { }
Run Code Online (Sandbox Code Playgroud)

应用模块

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {FormsModule} from '@angular/forms';
import {HttpModule} from '@angular/http'
import { AppComponent } from './app.component';
import { NavbarComponent …
Run Code Online (Sandbox Code Playgroud)

angular

10
推荐指数
1
解决办法
6866
查看次数

以角度4显示百万或千格式的数字

我试图在我的角度4应用程序中显示数字格式.基本上我正在看的是,如果数字是12.23百万,那么它应该显示例如12.2M(小数点后一位)

如果数字是50,000.123那么50.1K

我如何在角度上实现这一点.我需要写一个指令吗?有角度的内置管道吗?

结构体

export interface NpvResults  {

            captiveInsYear: number[];
            captiveInsPremiumPaid: number[];
            captiveInsTaxDeduction: number[];
            captiveInsLoanToParent: number[];
            captiveInsCapitalContribution: number[];
            captiveDividentDistribution: number[];
            captiveInsTerminalValue: number[];

        }
Run Code Online (Sandbox Code Playgroud)

该数组初始化为以下值

this.sourceResults.captiveInsPremiumPaid = [1,2,3,4,5];
Run Code Online (Sandbox Code Playgroud)

HTML

<td *ngFor= "let item of NpvResults.captiveInsPremiumPaid" >{{item}}</td>
Run Code Online (Sandbox Code Playgroud)

angular-pipe angular

10
推荐指数
2
解决办法
7192
查看次数

2015年视觉工作室中的Angular 2 cli集成

我正在尝试使用angular2 cli设置在visual studio 2015中创建角度2应用程序.

我已完成以下步骤来设置项目

  1. 执行以下安装cli的命令

    npm i -g angular-cli

  2. 执行以下用于创建文件和文件夹结构的命令

    ng new projectname

  3. 执行以下用于构建项目的命令

    ng serve

默认情况下,角度2应用程序在端口4200上提供.因此,当我执行http:// localhost:4200时,我可以看到index.html页面在浏览器上提供.我知道它是通过ng服务器而不是IIS提供的.如果我错了,请纠正我.如果我复制文件夹和文件结构并包含在我的visual studio解决方案中并运行它,我看到visual studio使用自己的端口.即使我在项目属性中将端口设置为4200并尝试执行http:// localhost:4200,它也能完成工作.我相信这是因为它现在由IIS托管,IIS不知道这个应用程序.有人可以告诉我如何在实时场景中进行设置

我基本上试图在html中进行更改并使用visual studio 2015编辑器执行代码.我没有反映任何变化

visual-studio-2015 angular2-cli angular

9
推荐指数
1
解决办法
9186
查看次数