通过执行以下操作,我以某种方式获得了一个似乎已实例化两次的服务(其属性不同步):
@Component
export class MyComponent extends someOtherComponent {
constructor(service: Service, service2: Service2) {
super(service, service2);
}
isStateEqual() {
return this.service.serviceState === this.service2.service.serviceState;
}
}
@Injectable
export class Service {
serviceState = {}
}
@Injectable
export class Service2 {
constructor(service: Service) {}
}
Run Code Online (Sandbox Code Playgroud)
这只是一个非常基本的例子,但归根结底就是这样。更准确地说:我们正在构建自己的日期选择器并扩展 NgbDatepicker 组件,该组件具有 KeyMapService(使用 NgbDatepickerService)和本地 NgbDatepickerService。
这是组件的链接:https : //ng-bootstrap.github.io/#/components/datepicker/examples
在我们的应用程序中,isStateEqual 将始终返回 false(即使在初始化组件之后),而在演示中,您可以在上面的链接中找到它始终返回 true(应该是这样)。
有谁知道为什么会这样?
提前致谢。
问候丹尼斯
我正在使用 webpack 3.10,并且我为 dev/prod 提供了不同的 webpack 配置。现在在我的 prod 配置中设置了“devtool =“(none)””,而在我的开发配置中它是“eval-source-map”。
遗憾的是使用 prod 配置,我的包不起作用。使用开发配置时一切正常。我尝试了一下,每个在 webpack 文档中标记为“生产:是”的设置:https ://webpack.js.org/configuration/devtool/破坏了我的代码。
任何人都可以解释设置之间的确切区别。还有什么会改变(缩小/丑化什么的)?
亲切的问候。
我目前正在尝试使用StencilJS来创建一些Web组件.
现在我知道有<slot />和名称插槽和所有东西.来自React,我猜插槽与React中的儿童类似.你可以在React中使用孩子做很多事情.我经常做的事情:
你会如何使用插槽/网络组件/ stencilJS?
我可以使用Stencil获取我的Web组件的主机元素
@Element() hostElement: HTMLElement;
Run Code Online (Sandbox Code Playgroud)
我使用我的组件
<my-custom-component>
<button>1</button>
<button>2</button>
<button>3</button>
</my-custom-component>
Run Code Online (Sandbox Code Playgroud)
我想渲染类似的东西
render() {
return slottedChildren ?
<span>No Elements</span> :
<ul class="my-custom-component">
slottedChildren.map(child => <li class="my-custom-element>{child}</li>)
</ul>;
}
Run Code Online (Sandbox Code Playgroud)
亲切的问候