我知道这个问题已经发布了很多次,但不是针对 angular 7。似乎他们改变了一些东西,因为它像这里描述的那样做:https : //stackoverflow.com/a/51256389/1056512不再工作了。这是代码:
import { Component } from '@angular/core';
export function CustomElement(args: any = {}): (cls: any) => any {
const ngCompDecorator = Component(args);
return function(compType: any) {
ngCompDecorator(compType);
};
}
Run Code Online (Sandbox Code Playgroud)
装饰器使用
@CustomElement({
selector: 'multiple',
templateUrl: './multiple.html',
styleUrls: ['./multiple.scss']
})
Run Code Online (Sandbox Code Playgroud)
我有以下错误: Failed to load multiple.html
这里发生了什么事?
编辑:我的包依赖项:
Run Code Online (Sandbox Code Playgroud)"@angular/animations": "~7.2.0", "@angular/common": "~7.2.0", "@angular/compiler": "~7.2.0", "@angular/core": "~7.2.0", "@angular/forms": "~7.2.0", "@angular/platform-browser": "~7.2.0", "@angular/platform-browser-dynamic": "~7.2.0", "@angular/router": "~7.2.0", "core-js": "^2.5.4", "rxjs": "~6.3.3", "tslib": "^1.9.0", "zone.js": "~0.8.26"
Stackblitz 在 7.0.1 上运行,我在 7.2.0 …
我在这里需要帮助。我捆绑了一个自定义库(以示例LibraryJS命名,它使用lodash作为依赖项。
在webpack配置中,我将lodash设置为外部依赖项,如下所示:
{
externals: {
"lodash"
}
}
Run Code Online (Sandbox Code Playgroud)
效果很好。但是,当我想在另一个项目中使用该库时,出现以下错误:“ libraryjs.js:77 Uncaught ReferenceError:未定义lodash ”
这是以下行:
/***/ }),
/* 1 */
/***/ (function(module, exports) {
=> module.exports = lodash;
/***/ }),
Run Code Online (Sandbox Code Playgroud)
事实是,我在项目中也使用lodash,因此它应该可以正常工作。我究竟做错了什么?
顺便说一句,我正在使用gulp + browserify捆绑我的项目,并使用gulp + gulp-webpack捆绑了图书馆。
编辑:我找到了一种修复错误的方法,但我真的不想坚持使用此修复程序,因为它的确是...丑陋的。
const lodash = require('lodash')
window.lodash = lodash; // <= The fix, ugh
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
我有一个小错误(?)与我的打字稿代码.请参阅以下内容:
class Component {
assertBoolean(): boolean {
return true;
}
}
class DummyComponent extends Component() {
}
const components: Component[] = [ DummyComponent ];
Run Code Online (Sandbox Code Playgroud)
我收到以下打字稿错误:
错误TS2322:类型'typeof DummyComopnent'不能分配给'Component'类型'typeof DummyComponent'中缺少'assertBoolean'属性.
我真的不知道我在那里做错了什么,基本的OOP.