小编Jar*_* K.的帖子

如何将全局样式添加到angular 6/7库

我试图以与在角度应用程序中相同的方式添加全局样式,但它完全不起作用。

我的库的名称是example-lib,所以我添加styles.css/projects/example-lib/。我在主angular.json文件中添加了样式:

...
"example-lib": {
  "root": "projects/example-lib",
  "sourceRoot": "projects/example-lib/src",
  "projectType": "library",
  "prefix": "ngx",
  "architect": {
    "build": {
      "builder": "@angular-devkit/build-ng-packagr:build",
      "options": {
        "tsConfig": "projects/example-lib/tsconfig.lib.json",
        "project": "projects/example-lib/ng-package.json",
        "styles": [
          "projects/example-lib/styles.css" <!-- HERE 
        ],
      },
...
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用命令构建库时:

ng build example-lib

我收到错误消息:

Schema validation failed with the following errors:
  Data path "" should NOT have additional properties(styles)
Run Code Online (Sandbox Code Playgroud)

我想这是在单独的库中添加全局样式的另一种方法。有人可以帮助我吗?

css styles angular angular-library

23
推荐指数
3
解决办法
8476
查看次数

如何正确设置粘性表头的样式?

我的数据表中的样式粘贴标题有点问题.我编写了简单的Angular组件和特定的指令:

sticky.directive.ts

@Directive({
    selector: '[sticky]'
})
export class StickyDirective {

    constructor(private _element: ElementRef, private _window: WindowRef) {
        console.log('debug')
    }

    @HostListener('window:scroll', ['$event'])
    handleScrollEvent(e) {
        if (this._window.nativeWindow.pageYOffset > 100) {
            this._element.nativeElement.classList.add('stick');
        } else {
            this._element.nativeElement.classList.remove('stick');
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果用户在标题下滚动,则该指令的目的是添加类标记.因此,表头应该对用户可见,即使他滚动长表也是如此.类看起来像那样:

.stick {
    position: fixed;
    top: 55px;
} 
Run Code Online (Sandbox Code Playgroud)

我的some.component.html(和thead元素上的use指令)的一部分看起来像:

<table class=" table table-bordered ">
 <thead sticky>
   <tr>
    <th width="40%">Name
    </th>
    <th width="10%">Priority
    </th>
    <th width="25%">Date created
    </th>
    <th width="25%">Date modified
    </th>   </tr>   </thead>   <tbody>   <tr *ngFor="let r of …
Run Code Online (Sandbox Code Playgroud)

html css css-tables angular

7
推荐指数
1
解决办法
5616
查看次数

表格形式.可以继承表单控件吗?

我有两个组件:ParentComponent和ChildComponent:

parent.component.ts

<form #form="ngForm" (ngSubmit)="onSubmit(form)" novalidate>
     <input type="text" name="firstControl" [(ngModel)]="firstControl" />
     <input type="text" name="secondControl" [(ngModel)]="secondControl" />
     <child-component>
</form>
{{form.value | json}}
Run Code Online (Sandbox Code Playgroud)

child.component.ts

<input type="text" name="thirdControl" [(ngModel)]="thirdControl" />
<input type="text" name="fourthControl" [(ngModel)]="fourthControl" />
Run Code Online (Sandbox Code Playgroud)

现在,{{form.value | json}}回归{ "firstControl": "", "secondControl": "" }并且很清楚.我的问题是:有没有办法从子组件形成enherit表单控件?获取{ "firstControl": "", "secondControl": "", "thirdControl": "", "fourthControl": "" }ParentComponent 的正确方法是什么?可能吗?

forms typescript angular angular-forms

7
推荐指数
1
解决办法
2574
查看次数

Karma Jasmine - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调

我对karma/jasmine的Angular4单元测试有问题.我在本地运行PhantomJS浏览器测试,一切都很好.但是当我尝试在jenkins上运行相同的测试时(在PhantomJS上)我得到了错误:

堆栈跟踪

错误:超时 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调.

来自login-form.component.spec.ts的每个测试都会抛出相同的错误

登录-from.component.spec.ts

describe('LoginFormComponent', () => {
  let fixture;
  let submitBtn: DebugElement;
  let component;
  let authenticationService: AuthenticationService = null;
  let backend: MockBackend = null;
  const requestData = {
    //mock request data
  };
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [
        LoginFormComponent,
      ],
      imports: [
        CommonModule,
        FormsModule,
        FormElementsModule,
        ReactiveFormsModule,
        RouterTestingModule,
        TranslateModule,
        SharedModule,
        EwniosekSharedModule,
        Ng2PageScrollModule,
        ModalModule.forRoot(),
        VexModalModule,
      ],
      providers: [
        i18nService,
        AuthenticationService,
        BaseRequestOptions,
        {provide: XHRBackend, useExisting: MockBackend},
        {
          provide: HttpService,
          useFactory: (backendInstance: XHRBackend, defaultOptions: BaseRequestOptions) => {
            return …
Run Code Online (Sandbox Code Playgroud)

unit-testing jenkins karma-jasmine angular

6
推荐指数
1
解决办法
6195
查看次数

如何撤消提交模板?

我曾经通过命令添加了全局提交模板:

git config --global commit.template .gitmessage.txt
Run Code Online (Sandbox Code Playgroud)

今天,我创建了自己的存储库,尝试提交时遇到错误:

致命:无法读取“ .gitmessage.txt”:没有此类文件或目录

很好,因为我没有创建.gitmessage.txt文件。我没有此仓库的模板。问题来了:如何撤消全局提交模板?我可以覆盖全局提交模板,但可以删除此配置。

我正在尝试:

git config --global commit.template ""
Run Code Online (Sandbox Code Playgroud)

但是我得到了类似的错误:

致命:无法读取'''':没有这样的文件或目录

当我运行命令

git config --global commit.template
Run Code Online (Sandbox Code Playgroud)

我得到了回声当前模板。有人可以帮助我吗?

git git-config git-commit

5
推荐指数
2
解决办法
1411
查看次数

如何将泛型类作为方法的泛型参数传递

我在将类作为方法的通用参数传递时遇到问题,我有一个简单的方法:

<T> T sendRequest(SomeRestApiRequest request, Class<T> responseClass)
Run Code Online (Sandbox Code Playgroud)

它解析指定形式的响应。我以这种方式使用它们:

ItemListJSON itemList = new ItemListJSON();
itemList = someRestClient.sendRequest(req, ItemListJSON.class);
Run Code Online (Sandbox Code Playgroud)

对于 ItemListJSON.class ,它看起来像这样:

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"totalSize","items"})
public class ItemListJSON {

    @JsonProperty("items")
    private List<SalonJSON> items;

    @JsonProperty("totalSize")
    private int totalSize;

    //...getters, setters...
}
Run Code Online (Sandbox Code Playgroud)

一切都很好。但我的问题是:

是否可以将泛型类作为sendRequest方法的参数传递?

我希望 ItemListJSON 类是通用的,就我而言:

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"totalSize","items"})
public class ItemListJSON<T> {

    @JsonProperty("items")
    private List<T> items;

    @JsonProperty("totalSize")
    private int totalSize;

    //...getters, setters...
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以这种方式使用sendRequest方法时:

ItemListJSON<SalonJSON> itemList = new ItemListJSON<SalonJSON>();
itemList = someRestClient.sendRequest(req, ItemListJSON.class);
Run Code Online (Sandbox Code Playgroud)

我在 Eclipse IDE 上收到警告

类型安全:ItemListJSON 类型的表达式需要未经检查的转换才能符合 ItemListJSON

当调用方法时,我在服务器控制台中收到错误:

SEVERE: …
Run Code Online (Sandbox Code Playgroud)

java spring generic-collections

5
推荐指数
1
解决办法
8936
查看次数

懒加载.找不到组件工厂.你有没有把它添加到@ NgModule.entryComponents?

我使用ng2-bootstrap库创建具有简单模态窗口的页面.看起来像:

行动list.component.html

<a class="btn-setting"  (click)="dangerModal.show()"><i class="fa fa-trash"></i></a>

<div bsModal #dangerModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-danger" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title">Modal title</h4>
        <button type="button" class="close" (click)="dangerModal.hide()" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" (click)="dangerModal.hide()">Close</button>
        <button type="button" class="btn btn-primary" (click)="delete()">Save changes</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
Run Code Online (Sandbox Code Playgroud)

但当我点击垃圾桶图标(第一个href)时,我收到错误:

ERROR Error: No component factory found for ModalBackdropComponent. Did you add it …
Run Code Online (Sandbox Code Playgroud)

ng2-bootstrap angular

4
推荐指数
1
解决办法
5029
查看次数

如何在正方形中显示图像的特定部分

我在反应本机中的图像组件有问题。我想在某个正方形中显示图像的特定部分。铁:

假设我的图像分辨率为:1280x720

private someImage = require('../Assets/someImage.jpg');

我想以方形组件显示此图像(大小恒定)

<View style={{width: 64, height: 64}}>
   <Image source={this.someImage}
          style={{position: 'absolute', top: 0, left: 0 }} />
</View>
Run Code Online (Sandbox Code Playgroud)

第一个问题来了:图像超出了正方形。如何仅显示图像的一部分(但具有原始分辨率)。

第二个问题是:有没有办法显示我的图像的特定片段?如果我设置顶部:-64,左侧:-64,那就是男人,我希望看到原始图像对角线移动约 64 像素。

reactjs react-native react-native-image

4
推荐指数
1
解决办法
6154
查看次数

可以在特定按钮上设置 HostListener 吗?

我想在按下ESC ape 按钮时调用一些方法。我是这样做的:

@HostListener('window:keydown', ['$event'])
clickEscape(event: KeyboardEvent) {
    //if ESC was pressed
    if(event.keyCode === 27) {
        this.someMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当用户单击键盘上的任何按钮时,每次都会调用clickEscape方法。我的问题是:

是否可以设置 HostListener 以便仅在检测到 ESCape 按钮时调用该方法?我正在思考一些风格上的事情:

@HostListener('window:keydown["ESCAPE"]')
someMethod() {
    //...
}
Run Code Online (Sandbox Code Playgroud)

有类似的活动吗?

angular

3
推荐指数
1
解决办法
1299
查看次数

是否可以从转储中覆盖数据库记录?

我有一个 PostgreSQL 数据库的转储,它是用命令创建的:

pg_dump database_name > dumpname.sql
Run Code Online (Sandbox Code Playgroud)

我想从这个转储中恢复数据库,但我收到很多错误“...已经存在”。是否可以从转储中覆盖现有数据库记录?我必须恢复数据库,但无法删除它。

postgresql postgresql-9.1

2
推荐指数
1
解决办法
4450
查看次数

ngrx/example-app 中的容器和组件

我写信是想询问@ngrx 的良好做法(我猜)。几个月前我发现了 Flux 和 Redux,但最近我一直在实践中使用 @ngrx。我必须承认,这是一个非常广泛但有趣的话题。


解释:

对于第一步,我使用了一些教程和官方示例应用程序存储库(可以在这里找到 -> ngrx/example-app)。我对@ngrx 的使用方式和干净的代码印象深刻。我使用基于 ngrx/example-app 的 @ngrx 创建了我自己的应用程序,但我有一个重要的问题:

在 example-app 中,您可以找到两种组件。第一个在src/containers 中,第二个在src/components目录中。我知道容器使用存储,但组件的数据是通过@Input 传递的。


问题: 这种结构的原因是什么(对app的影响)?所有应用组件都可以使用应用商店吗?

ngrx angular

2
推荐指数
1
解决办法
1530
查看次数