2

我正在尝试在使用angular/universal-starter (TypeScript 2.x) 作为主干的项目中使用ng2-select 。

(我尝试在 angular-cli 生成的项目中添加 ng2-select,但效果很好)

在添加这两行之后:

import { SELECT_DIRECTIVES } from 'ng2-select/ng2-select';

@Component({
  directives: [SELECT_DIRECTIVES],
  ...

我的终端中已经出现错误:

ReferenceError: MouseEvent is not defined
    at /my-project/node_modules/ng2-select/components/select/off-click.js:33:42
    at Object.<anonymous> (/my-project/node_modules/ng2-select/components/select/off-click.js:43:2)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/my-project/node_modules/ng2-select/components/select/select.js:20:19)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/my-project/node_modules/ng2-select/components/select.js:2:16)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
[nodemon] app crashed - waiting for file changes before starting...

这是我的tsconfig.json文件:

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "module": "commonjs",
    "removeComments": true,
    "sourceMap": true,
    "lib": ["es6", "dom"]
  },
  "include": [
    "node_modules/@types/**/*.d.ts",
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules",
    "!node_modules/@types/**/*.d.ts"
  ],
  "compileOnSave": false,
  "buildOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}
4

2 回答 2

0

这是因为https://github.com/valor-software/ng2-select/issues/258

请跟踪此问题。

于 2016-09-14T01:02:13.860 回答
0

我想这个错误是因为指令没有正确加载造成的。

1)确保正在导入正确的组件,并验证是否MouseEvent已定义

2) 验证是否所有组件都在导出;

3) 在

@Component({
  directives: [SELECT_DIRECTIVES],
  ...

确保SELECT_DIRECTIVES不是数组对象。如果是,我认为您应该尝试使用

[ ...SELECT_DIRECTIVES ]

于 2016-08-26T00:09:46.003 回答