小编Dav*_*wys的帖子

更新TSLint错误:无法找到配置中指定的以下规则的实现

我将我的tslint升级到4.0.2,现在我收到了很多错误,如下所示

Could not find implementations for the following rules specified in the configuration:
    directive-selector-name
    component-selector-name
    directive-selector-type
    component-selector-type
    directive-selector-prefix
    component-selector-prefix
    label-undefined
    no-constructor-vars
    no-duplicate-key
    no-unreachable
    use-strict
Run Code Online (Sandbox Code Playgroud)

我相信问题可能是我的tslint.json可能已经过时了,我需要更新它,但我没有找到任何关于如何做到这一点的信息,或者即使我的假设是正确的.

tslint.json

{
  "rulesDirectory": [
    "node_modules/codelyzer"
  ],
  "rules": {
    "directive-selector-name": [true, "camelCase"],
    "component-selector-name": [true, "kebab-case"],
    "directive-selector-type": [true, "attribute"],
    "component-selector-type": [true, "element"],
    "directive-selector-prefix": [true, "my"],
    "component-selector-prefix": [true, "my"],
    "use-input-property-decorator": true,
    "use-output-property-decorator": true,
    "use-host-property-decorator": true,
    "no-attribute-parameter-decorator": true,
    "no-input-rename": true,
    "no-output-rename": true,
    "no-forward-ref" :true,
    "use-life-cycle-interface": true,
    "use-pipe-transform-interface": true,
    "pipe-naming": [true, "camelCase", "my"],
    "component-class-suffix": true,
    "directive-class-suffix": true,
    "ban": [true,
      ["_", …
Run Code Online (Sandbox Code Playgroud)

typescript tslint angular

27
推荐指数
2
解决办法
2万
查看次数

MVC Razor - 创建/编辑视图最佳实践

我第一次使用MVC 3/Razor,创建和编辑视图的所有示例和VS脚手架都为这些概念提供了单独的HTML视图,这似乎很奇怪.

许多创建/编辑表单之间没有太大的区别,所以我想知道为什么我找不到使用单个更新表单的人员的示例,可以由创建和编辑操作使用.

我已经获得了一个Update.cshtml视图,但是想知道它如何与控制器上的Edit或Create操作方法进行对话.

我的问题是:

  1. 任何人都可以快速回答与控制器交谈,或者
  2. 任何人都知道一个教程,显示以这种方式工作的良好实践,或者
  3. 当HTML通常相同时,是否有一些很好的理由将创建/编辑视图分开.

干杯戴夫

razor asp.net-mvc-3

21
推荐指数
2
解决办法
4万
查看次数

Thin 和 Puma 因类似问题而失败 - 错误:无法使用 OpenSSL@1.1 在 Mac 上构建 gem 本机扩展

描述错误 我试图做一个gem install pumagem install thin并得到一个错误。

我有一台全新的 Mac 正在设置:MacOS Catalina 10.15.6 (19G73)

我已经发现任何版本 <= 4.2.1 在我的计算机上都可以正常工作我正在使用asdf版本管理器

  • 作品: gem install puma -v '4.2.1'
  • 失败:gem install puma -v '4.3.0'gem install pumad

彪马的错误

我已经尝试了这些命令中的每一个来让它工作

gem install puma

gem install puma -v '4.3.0'  --  --with-ldflags=-L/usr/local/opt/openssl@1.1/lib  --with-cppflags=-I/usr/local/opt/openssl@1.1/include

gem install puma -v '4.3.0'  --  --with-ldflags=-L/usr/local/opt/openssl@1.1/lib  --with-cppflags=-I/usr/local/opt/openssl@1.1/include --with-opt-dir=/usr/local/opt/openssl@1.1
Run Code Online (Sandbox Code Playgroud)
Building native extensions. This could take a while...
ERROR:  Error installing puma:
    ERROR: Failed to build gem native extension. …
Run Code Online (Sandbox Code Playgroud)

ruby macos thin puma macos-catalina

19
推荐指数
1
解决办法
3722
查看次数

在 VS Code 中,存储一组文件选项卡,以便我将来可以恢复特定环境

VS Code 会记住上次环境中工作区中打开的文件选项卡,因此如果我关闭 VS Code 并重新打开,我会打开相同的文件。

在一两天的工作中,当我的 PR 接受审核时,我可能会在 2 或 3 个不同的功能分支之间切换。

每个功能分支通常位于代码库的完全不同的区域,这意味着,在处理每个分支时我希望打开不同的文件组。

我想知道是否有一种方法可以保存打开的选项卡的快照,以便我将来可以重新打开。

一个非常好的流程是当 VS Code 检测到分支更改时自动打开这些文件,同时关闭其他文件。

visual-studio-code

13
推荐指数
1
解决办法
4026
查看次数

如何动态地将Validator添加到Angular 2中的FormControl

我正在使用ReactiveFormsModule并定义了我的所有表单控件,包括简单的验证器,例如Validators.requiredconst配置.

我想为其中一个FormControls添加一个自定义验证器.

我目前已将自定义验证器添加为此配置中的函数,并且它工作正常,但它不属于此处,它确实需要存在于我的组件中,但我不确定如何才能附加自定义验证器FormBuilder配置完所有控件后手动完成.

请参阅下面的代码注释,如下所示

我如何附在这里

*???*

this.form.get('site_id').添加自定义值

这是我目前的配置代码.

import {FormControl, Validators, FormBuilder} from '@angular/forms';

var fb = new FormBuilder();

function exampleValidator(control: FormControl): { [s: string]: boolean} {
    if (control.value === 'Example'){
        return { example: true };
    }

    return null;
}

export const formConfig = fb.group({
  'extract_batch_id': ['bbbbbbbbbbbbb',
    [
       Validators.required
    ]], 
  'site_id': ['blah',
    [
       Validators.required,
        exampleValidator
    ]]
});
Run Code Online (Sandbox Code Playgroud)

我有一个指令,真的应该存储自定义验证器

职位搜索组件

import {Component, Input, OnInit, OnDestroy} from '@angular/core';
import {FormGroup, FormControl} from '@angular/forms';
import {ActivatedRoute} from '@angular/router';
import …
Run Code Online (Sandbox Code Playgroud)

validation angular2-forms angular-validation angular

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

语义发布重大更改使用 ! (感叹号)

可以使用感叹号在语义发布中处理主要版本更改(也称为重大更改)吗?

\n
git commit -m \'feat!: this is breaking, but is not recognized by semantic-release\'\n
Run Code Online (Sandbox Code Playgroud)\n

传统的提交指南表明,可以在页脚中使用页眉中的感叹号来标记重大更改。

\n

在此输入图像描述

\n

这是我一直在测试的工作流程

\n

安装存储库 \xe2\x9c\x93

\n
git init\ngit remote add origin git@github.com:klueless-io/k_genesis.git\ngit branch -M main\ngit add .\ngit commit -am \'first commit\'\n# Artificial starting version number\ngit tag v0.0.18 -a -m \'k_genesis initialize repository\'\ngit push -u origin main --tags\ngit hist\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

删除单个文件并将其称为新功能 \xe2\x9c\x93

\n
rm a1\ngit add .\ngit commit -m \'feat: remove a1\'\ngit hist\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n
npx semantic-release --no-ci\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n …

semantic-release conventional-commits conventional-changelog

12
推荐指数
1
解决办法
3413
查看次数

如何使用Angular UI-Grid与服务器端分页

我正在使用AngularJs Ui-Grid.info来显示动态数据网格,我喜欢它,但现在我必须使用服务器端过滤和分页将其连接到具有60,000条记录的数据库表,并且看起来这个分页选项插件仅用于客户端分页.

有没有人能够使用Server Side Paging.你有一个代码示例吗?

查看代码

<div class="gridContainer">
    <div id="grid1" ui-grid="gridOptions" class="grid" ui-grid-auto-resize ui-grid-pagination></div>
</div>
Run Code Online (Sandbox Code Playgroud)

控制器的一部分

$scope.gridOptions = {
    enableFiltering: true,
    enableColumnResize: true,
    paginationPageSizes: [25, 50, 75],
    paginationPageSize: 25,
    columnDefs: [
        {
            //field: 'Id', width: 60, displayName: 'Id', enableFiltering: false
            field: 'id', width: 60, displayName: 'Id', enableFiltering: false
        },
        {
            field: 'skill_count',
        },
        {
            field: 'name'
        } 
    ]
};

$scope.loadData = function () {
    skillService.getUnprovisioned(function (data) {
        $scope.gridOptions.data = data;
    });
};
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui-grid

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

Angular 2 - FormGroup ValueChanges取消订阅

我有一个带有ValueChanges事件的FormGroup,当用户从组件的路径移动到另一个组件然后它们返回到组件时,该事件不会从内存中释放.

这意味着如果用户导航远离组件然后返回组件5次,则onFormChange方法将触发5次,但这些调用中只有1次针对当前组件.

我认为问题是我需要取消订阅NgDestroy事件中的valueChanges事件,但valueChanges事件中没有可用的取消订阅方法.

我确信我必须取消订阅或释放内存,但我不确定是什么.

import * as _ from 'lodash';
import {Observable} from 'rxjs/Rx';

import {Component, Input, Output, EventEmitter, OnInit, OnDestroy} from '@angular/core';
import {FormGroup} from '@angular/forms';

import {formConfig} from './toolbar.form-config';
import {JobToolbarVm} from '../view-model/job-toolbar.vm';
import {BroadcastService} from '../../../services/broadcast/broadcast.service';

@Component({
    selector: 'wk-job-toolbar',
    template: require('./toolbar.html'),
})
export class JobToolbarComponent implements OnInit, OnDestroy {

  protected form: FormGroup;

  @Input()
  toolbar: JobToolbarVm;

  @Output()
  toolbarChanged = new EventEmitter<JobToolbarVm>();

  @Output()
  refresh = new EventEmitter<string>();

  constructor(private broadcast: BroadcastService) {
  }

  ngOnInit() {

    this.form = formConfig;
    this.form.setValue(this.toolbar, {onlySelf: …
Run Code Online (Sandbox Code Playgroud)

rxjs angular2-forms angular

11
推荐指数
1
解决办法
1万
查看次数

Angular 2 - 不同静态页面上任何布局中的多个组件

我有一堆静态页面,使用各种组件放在HTML设计师喜欢的任何地方.例如,在WordPress网站的任何页面内.

虽然这里显示的示例组件是简单的面板,但实际上有各种组件,例如搜索,列表,编辑器,视图等......

目前,它们已在许多Wordpress站点上完成,其中每个页面都可以具有完全不同的布局.在过去,我们使用Angular 1.5,WP开发人员可以将我们的app标签放在身体附近,然后任何小部件(我们大约30个)可以在任何页面中放置1次或更多次.

组件可以重复使用,因此通过bootstrap []属性创建组件根组件没有意义,因为您只能在页面上使用一次根组件.如我的第二个例子所示.

技术1

这是第一次设置的截图和Plunker.请注意,我有4个区域,其中我放置了3个组件,组件1被重用.

这个例子是通过在单个根组件中布置组件来完成的,这对于我的Wordpress Pages具有完全不同的布局和组合要求的用例是不切实际的..

Plunkr

在此输入图像描述

技术2

我尝试使用一种技术,其中每个窗口小部件作为根组件进行自举,基于此自适应页面内的Bootstrapping Multiple Applications Sprinkling Angular 2组件.

但是当我使用这种技术时,小部件的第二个实例不会加载.AKA小工具1.

Plunkr

请参阅bootstrapping示例

在此输入图像描述

技术2 - 还有其他问题

如果你已经引导了3个根组件,你必须使用它们全部,否则Angular会抛出你没有使用的根组件的错误.

Plunker

在此输入图像描述

技术3

使用<ng-content></ng-content>似乎不起作用的根组件.

请参阅:具有ng-content的Angular2根组件

angular

8
推荐指数
1
解决办法
2477
查看次数

Angular 2.3组件继承和依赖注入

如何使用新的Angular 2.3组件继承在子组件和父组件之间共享依赖项注入.

例如,我想将AlertService向下移动到父组件中,并将TraingCompanyService保留在派生组件中

当前组件

@Component({
    selector: 'wk-training-company-edit',
    template: require('./edit.html')
})
export class TrainingCompanyEditComponent implements OnInit, OnDestroy {

    constructor(
                private alert: AlertService,
                private trainingCompanyService: TrainingCompanyService
                ) {

    }
}
Run Code Online (Sandbox Code Playgroud)

重构组件(V1)

必须在派生类的构造函数中调用它之前调用Super

@Component({
    selector: 'wk-training-company-edit',
    template: require('./edit.html')
})
export class TrainingCompanyEditComponent extends BaseAdminEditComponent implements OnInit, OnDestroy {

    constructor(
                private alert: AlertService,
                private trainingCompanyService: TrainingCompanyService
                ) {

        // Error: Super must be called before calling this in the constructor of the derived class
        super(this.alert);
    }
}

export class BaseAdminEditComponent {

    constructor(private alert: AlertService) …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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