小编Mou*_*iri的帖子

Angular N - 声明常量文件的最佳实践是什么?

要声明一个常量文件,我首先在与使用常量的组件相同的树级别中创建它email.constants.ts,如下所示:

export class EmailConstants {

  public static MAXIMUM_NUMBER = 10;
}
Run Code Online (Sandbox Code Playgroud)

我以这种方式从控制器导入它:

import { EmailConstants } from './emails.constants';
Run Code Online (Sandbox Code Playgroud)

这种做法好吗?我在这里问这个问题是因为我在官方指南风格中找不到答案

typescript angular

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

JavaScript-传播和休息语法,从对象中删除特定属性

我有一个对象,如下所示:

let obj = {foo: 1, bar: 2, baz: 3}
Run Code Online (Sandbox Code Playgroud)

我想通过调用将要删除的属性名称作为参数的方法来删除特定属性

removeProperty(obj, propertyName) {
  let { propertyName, _, ...result } = obj
  return result
}
Run Code Online (Sandbox Code Playgroud)

问题是该方法仅在我们直接用语法spead编写属性名称时才起作用,例如:let { bar, _, ...result } = obj。但是它不能通过将其作为参数传递而起作用,因为语法spead会将其创建为新变量

我们如何做到这一点,如果可能的话,用另一种解决方案,除了omitlodash的

javascript ecmascript-2018

6
推荐指数
2
解决办法
3253
查看次数

JavaScript - 带有突变的过滤器数组

我想通过保留相同的数组而不创建新数组来过滤数组。

Array.filter()

getFiltersConfig() {
  return this.config.filter((topLevelConfig) => topLevelConfig.name !== 'origin')
}
Run Code Online (Sandbox Code Playgroud)

通过按值过滤而不返回新数组来获得相同结果的最佳方法是什么?

javascript ecmascript-6

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

Angular/TypeScript - 联合类型访问

我有一个带有联合类型属性的接口:

interface Challenge {
  id: number;
  category: Category | string;
}
Run Code Online (Sandbox Code Playgroud)

分类界面:

Interface Category {
  id: number;
  label: string;
}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有一个this.challengewhich type Challenge

现在我想从模板中展示challenge.category.label

<p>{{ challenge.category.label }}</p>
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为该label属性在字符串类型上不存在,并且如果我尝试从控制器访问该属性,则会出现相同的错误:

getLabel(): string {
  return this.challenge.category.label
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能指定这个类别实例的类型是Category,因为模板直接偏好

typescript angular

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

JavaScript/ES2015 - 保留对象的所有属性,除了一个 Rest/Spread 运算符之外

我有这个对象:

const value = {
  "template": "<span translate>myRecommendations</span>",
  "badge": "<span>{{ notifications }}</span>",
  "sref": "recommendation.list"
}
Run Code Online (Sandbox Code Playgroud)

我想使用 Rest / Spread 运算符创建另一个具有相同名称 ( value) 的对象,该对象具有除badge属性之外的所有属性

javascript ecmascript-6

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

JavaScript - 优化两个array.map循环

我必须迭代两个数组,如果iso第一个数组的属性等于address.country第二个数组条件被验证,slug则将地址和第二个数组(this.concessions)分配给第一个数组(this.countries).

最后,你需要一个this.countries包含addressslug属性的新数组(除了他已经拥有的属性)

this.countries.map((element) => {
  this.concessions.map((value) => {
    if (element.iso === value.address.country) {
      element.address = value.address
      element.slug = value.slug
    }
  })
})
Run Code Online (Sandbox Code Playgroud)

我如何优化它,例如,对于这种情况,最好的可迭代使用的for ..of是什么?

javascript ecmascript-6

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