- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我不知道如何为 angular2 编写 npm 模块。
尽管我找到了 2 个教程(One、Two),但没有一个介绍如何将 angular2 模块 (@NgModule
) 实现为 npm 包。
我不明白的是,我到底什么时候需要注入(inject)像 BrowserModule
这样的模块?我什至必须将它与我的模块一起注入(inject),还是仅注入(inject)指令就足够了?
到目前为止我的插件:
- https://github.com/yves-s/ng2-flexbox-grid/tree/develop
- https://www.npmjs.com/package/ng2-flexbox-grid
目前它是@btmorton 的 angular2-grid 的 RC6 副本和更新。
但我无法让它工作。
更新:
这是我模块的当前状态 ng2-flexbox-grid.ts
export * from './src/directives';
export * from './src/components';
export * from './src/interfaces';
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {NgGrid, NgGridItem} from './src/directives';
const mapValuesToArray = (obj) => Object.keys(obj).map(key => obj[key]);
// const directives = mapValuesToArray(directiveItems);
export default {
directives: [NgGrid, NgGridItem]
}
@NgModule({
declarations: [],
imports: [
BrowserModule,
CommonModule
],
exports: [NgGrid, NgGridItem]
})
export class Ng2FlexboxGridModule {}
更新 - 解决方案
在@Clint 的帮助下,我可以把那个 child 带回家。
可能最大的问题是我不知道 @NgModule
究竟是如何工作的。我很确定如果我仔细阅读 @NgModule
docs 会有帮助
重要的部分是声明和导出模块指令。这样,您只需导入 FlexboxGridModule
即可使用它导出的指令。
导出:
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {NgGrid, NgGridItem} from './src/directives';
@NgModule({
imports: [BrowserModule],
declarations: [NgGrid, NgGridItem],
exports: [NgGrid, NgGridItem]
})
export class FlexboxGridModule {}
导入:
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {AppComponent} from './app.component';
import {FlexboxGridModule} from "ng2-flexbox-grid";
@NgModule({
imports: [
BrowserModule,
FlexboxGridModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
最佳答案
当你制作一个模块时,你应该确保它导入模块并声明它使用的组件,以及导出任何应该对消费者可用的东西。例如:
@NgModule({
imports: [...modulesImConsuming],
exports: [...modulesAndComponentsMyConsumersNeed],
declarations: [...myModulesComponents]
})
在您的实例中,我们会(注意 声明
更改):
@NgModule({
declarations: [NgGrid, NgGridItem],
imports: [
BrowserModule,
CommonModule
],
exports: [NgGrid, NgGridItem]
})
然后要使用我们的模块,我们只需要导入它。导入模块时,我们可以访问所有组件(NgGrid
、NgGridItem
)以及导出的任何模块(以及导出模块导出的所有内容,等等)。在您的情况下,我们将:
@NgModule({
imports: [FlexboxGridModule]
})
关于angular - 如何编写 Angular2 npm 模块 - Angular2 RC 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321380/
我很好奇这两个模块在实践中有什么区别吗?如果不是,为什么会有这两个副本? 最佳答案 std::rc::Rc只是 alloc::rc::Rc 的再导出.你可以在src/std/lib.rs中看到整个rc
我注意到 rust 书推荐使用 Rc::clone(&rc)在rc.clone()如下: use std::rc::Rc; let five = Rc::new(5); // recommended
我需要将我现有的 Angular 2 RC 1 应用程序迁移到 Angular 2 RC 4。作为其中的一部分,我还需要将我现有的表单迁移到 Angular 2 RC 4 New Forms。 任何人
如何测试 Selenium RC 中哪个元素具有焦点? 最佳答案 当我遇到同样的问题时,出于各种原因,其他答案都不适合我。我最终做了以下操作(使用 Java 中的 Selenium 2.0 WebDr
Horse是一个实现 Animal 的结构特征。我有一个 Rc和一个需要接收 Rc 的函数, 所以我想从 Rc 转换至 Rc . 我这样做了: use std::rc::Rc; struct Hors
代码如下所示: // Simplified pub trait Field: Send + Sync + Clone { fn name(&self); } #[deriving(Clone)
在 /etc/rc[06].d/ 目录中的程序启动之后,系统的启动就已经完成。不过,我们总有一些程序是需要在系统启动之后随着系统一起启动的。这时我们并不需要自己把需要启动的服务链接到 /etc/rc3
我正在使用 selenium rc,我需要测试 flash。我需要单击 Flash 播放器上的允许按钮。 我只是需要一些帮助才能开始? 最佳答案 通常,除非在 Flash 开发人员的帮助下将 Sele
我知道 PhantomData旨在使用数据类型定义中的生命周期或类型参数,否则这些参数将不会被使用。我最近在查看 Rc 的定义在Rust std lib并注意到它似乎使用了 PhantomData ,
谁能给我解释一下为什么Rc<>不是 Copy ? 我正在编写使用大量共享指针的代码,并且必须输入 .clone()总是让我心烦意乱。 在我看来Rc<>应该只包含一个固定大小的指针,所以类型本身应该是
我想创建一个 Rc因为我想减少跟踪访问 Rc 的 2 个指针的间接访问需要。我需要使用 Rc因为我确实拥有共享所有权。我在 another question 中详细说明关于我的字符串类型的更具体的问题
Selenium IDE 和 Selenium RC 的功能有什么区别? 最佳答案 Selenium IDE 是一个 firefox 插件,它为您提供了用于记录测试的基本记录器。这些测试使用关键字记录
我正在尝试使用 Selenium RC (Java) 在 Paypal-Sandbox 上购买东西,但它不起作用。 我用 Selenium IDE (Firefox AddOn) 试过了,它确实有效。
我有一个 Rc>但需要得到一个Rc从中。像这样的东西: let rc_option: Rc> = Rc::new(Ok(value)); let ok_value: Rc = rc_option.ma
我知道在 matplotlib 中,您可以使用 rc 或 rcParams 来自定义绘图的样式。但是,这些函数似乎存在于两个级别,例如 matplotlib.rc 与 matplotlib.pyplo
Rust 文档涵盖 Rc>相当广泛,但不涉及 RefCell> ,我现在遇到了。 这些是否有效地给出了相同的结果?它们之间有重要区别吗? 最佳答案 Do these effectively give
我有一段代码是这样的: use std::cell::RefCell; use std::rc::Rc; struct A(bool); impl A { fn get_ref(&self)
Rust 文档涵盖 Rc>相当广泛,但不涉及 RefCell> ,我现在遇到了。 这些是否有效地给出了相同的结果?它们之间有重要区别吗? 最佳答案 Do these effectively give
我试图获得引用计数 Rc从 HashMap 并将其放入不同的容器 ( Vec )。 原以为这会起作用(通过增加引用计数),但我却收到了一个“expected struct std::rc::Rc ,
前言 我们在ubuntu下要把一个程序加入开机启动,一般可以通过修改rc.local来完成,但ubuntu下有两个rc.local文件。分别是/etc/rc.local和/etc/init.d/r
我是一名优秀的程序员,十分优秀!