【问题标题】:Can't use ng2-smart-table in angular 2 project不能在 Angular 2 项目中使用 ng2-smart-table
【发布时间】:2018-03-19 16:09:33
【问题描述】:

新建angular 2项目的步骤:

ng 新的 myapp cd myapp npm i ng2-smart-table --save

并更改app.module.ts

import { Ng2SmartTableModule } from 'ng2-smart-table';

// ...

@NgModule({
  imports: [
    // ...

    Ng2SmartTableModule,

    // ...
  ],
  declarations: [ ... ]
})
// ...

然后我在尝试运行ng serve时收到以下错误消息:

/Users/Public/myapp/node_modules/ng2-smart-table/src/ng2-smart-table/lib/data-source/server/server.data-source.ts (70,12) 中的错误:类型'Observable' 不可分配给类型 'Observable'。 属性 'source' 受到保护,但类型 'Observable' 不是派生自 'Observable' 的类。)

然后整个项目停止运行,甚至导致问题的部分实际上根本没有使用。

顺便说一下,我的规格:

angular-cli: 1.0.0-beta.30
node: 7.5.0
os: darwin x64
@angular/common: 2.4.6
@angular/compiler: 2.4.6
@angular/core: 2.4.6
@angular/forms: 2.4.6
@angular/http: 2.4.6
@angular/platform-browser: 2.4.6
@angular/platform-browser-dynamic: 2.4.6
@angular/router: 3.4.6
@angular/cli: 1.0.0-beta.30
@angular/compiler-cli: 2.4.6

有什么想法吗?谢谢。

编辑:

解决了这个问题。

解决了这个问题。

ng2-smart-table 的 package.json 包含以下内容:

  "dependencies": {
    "ng2-completer": "^1.0.0",
    "rxjs": "~5.0.2"
  },

但是 rxjs 应该在这里:

  "peerDependencies": {
    "rxjs": "^5.0.2"
  },

删除ng2-smart-tablenode_modules 内的rxjs 文件夹。重新运行npm i

【问题讨论】:

    标签: angular angular-cli ng2-smart-table


    【解决方案1】:

    我在这里没有看到任何错误。它只是由 angular-cli: 1.0.0-beta.26 生成的干净应用程序

    【讨论】:

    • 我在 mac 中使用 angular-cli: 1.0.0-beta.30 运行节点 7.5。在新创建的项目中遇到了这个问题。你的节点版本是多少?
    • 因为28、29版本有一些bug,尝试安装26版本,我想是的。
    • 同样的问题。你的@angular/core 版本是什么?
    • 2.4.6最新版
    猜你喜欢
    • 1970-01-01
    • 2019-08-31
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2020-01-03
    • 2019-07-20
    相关资源
    最近更新 更多