小编Tha*_*guy的帖子

具有嵌套表单数组的角度反应表单

我是Angular 2的新手,并决定学习最好的方法是通过Angular官方指南.

我浏览了反应表单指南 https://angular.io/guide/reactive-forms

演示链接:https://stackblitz.com/angular/jammvmbrpxle

虽然内容总体来说非常好,但我仍然坚持如何实现更复杂的表单.在给定的示例中,每个Hero都有可能存在许多地址.地址本身就是一个扁平的对象.

如果地址有其他信息,例如位于地址的房间的颜色和类型,该怎么办?

export class Address {
    street = '';
    city   = '';
    state  = '';
    zip    = '';
    rooms = Room[];
}

export class Room {
     type = '';
}
Run Code Online (Sandbox Code Playgroud)

这样表单模型看起来像这样......

createForm() {
this.heroForm = this.fb.group({
  name: '',
  secretLairs: this.fb.array([
      this.fb.group({
          street: '',
          city: '',
          state: '',
          zip: '',
          rooms: this.fb.array([
              this.fb.group({
                 type: ''
          })]),
      })]),
  power: '',
  sidekick: ''
});
Run Code Online (Sandbox Code Playgroud)

}

编辑 - 与ngOnChanges一起使用的最终代码

英雄detail.component.ts

createForm() {
    this.heroForm = this.fb.group({
      name: …
Run Code Online (Sandbox Code Playgroud)

angular formarray

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

JsTree:显示更多选项

有什么办法可以进入show more选项/链接jsTree吗?我只想显示部分孩子,并且有一个链接可以扩展以显示所有元素。我尝试了一些Google搜索,但找不到解决方案。任何帮助/提示都将是有用的。

假设parent-1有10个子节点,而Main Root有5个父节点。

Main Parent
    - Parent - 1
        - child-1
        - child-2
        - child-3
        show 7 more parent-1 elements //LINK
    - Parent - 2
        - child-1
        - child-2
    - Parent - 3
        - child-1
        - child-2
    show 2 more Main Parent elements //LINK
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现以下结果

在此处输入图片说明

这可能吗?是否有可用的插件?是否有其他选择jsTree可以支持这一点?

html javascript css jquery jstree

15
推荐指数
2
解决办法
461
查看次数

始终在 monaco-editor 中显示“显示更多”部分

我正在使用Configure javascript defaultsmonaco editor playground 中的示例。

https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-javascript-defaults

当我开始输入预定义的类时,我会自动完成,但我需要按一次 ctl+space 来查看建议的实际文档。

有没有办法默认设置此选项,以便自动完成默认情况下显示文档打开?

这是我在代码中更改的唯一内容:

monaco.languages.typescript.typescriptDefaults.addExtraLib([
  '/**',
  ' * Know your facts!',
  ' */',
  'declare class Facts {',
  '    /**',
  '     * Returns the next fact',
  '     */',
  '    static next():string',
  '}',
].join('\n'), 'filename/facts.d.ts');
Run Code Online (Sandbox Code Playgroud)

现在如何打开:

在此处输入图片说明

希望它如何默认打开

在此处输入图片说明

javascript monaco-editor

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

AngularJS-进度栏为100%后5秒重新加载页面

进度栏为100%后,我想在5秒后重新加载页面

我拥有的代码是:

<!DOCTYPE HTML>
<!--
/*
 * jQuery File Upload Plugin AngularJS Demo
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * https://opensource.org/licenses/MIT
 */
-->

<html lang="en">
<head>
<!-- Force latest IE rendering engine or ChromeFrame if installed -->
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<meta charset="utf-8">
<title>jQuery File Upload Demo - AngularJS version</title>
<meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery angularjs jquery-file-upload

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

元素悬停在css3淡入淡出效果中无法正常工作

我正在开发一个简单的项目,其中单个块元素悬停将显示4x缩放元素.我是通过纯css和css3过渡完成的.请参阅jsfiddle演示.将有四个元素,每个元素都有不同的悬停元素.但是当我悬停在它上面时,只显示一个悬停元素,尽管它与该块或元素无关.

请参阅演示项目然后一切都将清楚我想告诉.

.main {
  position: relative;
  width: 300px;
  overflow: hidden
}

.main a {
  width: 50%;
  height: 50%;
  float: left;
}

.main a .child {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: gray;
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out;
  -moz-transition: opacity 0.5s ease-out;
  -ms-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}

.main a:hover .child {
  -webkit-transition: opacity 0.2s ease-in;
  -moz-transition: opacity 0.2s ease-in;
  -ms-transition: opacity 0.2s ease-in;
  -o-transition: opacity …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

允许 Angular $sanitize 保留某些标签

我想让我的应用程序中的用户使用某些列入白名单的 HTML 标签(如<div></div>& <span></span>),但禁用其他 HTML 标签,如<script></script>, <input/>

我可以创建一个自定义指令以便手动完成,但我知道有一种方法可以使用$sanitize,$compileProvider$compileProvider.directive. 我找不到有关此功能的任何文档。

如何禁用除<div>没有任何属性的标签之外的所有 html ,$compileProvider.directive而不是使用我自己的指令?

angularjs ngsanitize

5
推荐指数
0
解决办法
1126
查看次数

添加测试以检查所有文件的格式是否正确到 Karma \ Travis

我正在本地使用 karma 为我的项目实现一些测试,并使用 Travis 进行github测试集成(除非所有测试都通过,否则无法合并拉取请求)

我真的很想对代码格式化做同样的事情。我使用jscsgulp来检查代码。

我考虑过为Travis添加一个测试,以便在 PR 格式不正确时使测试失败。

有这样做的标准方法吗?目前,我考虑了两个选择:在我的测试套件中添加一个测试来检查格式。如果返回任何错误,则使测试失败。另一种选择是仅在Travis上运行任务,但我不能使Travis构建在 lint 任务上失败。

我看到有一个 karma 预处理器,但据我检查,如果发现任何 jscs 错误,它不会使 travis 失败。

对此有更好的做法吗?

我在互联网上找不到任何内容,因为<TEST_FRAMEWORK> test file formatting只返回了很多有关如何正确格式化测试的结果(可读性)

javascript testing formatting travis-ci karma-runner

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

如何在 ejs 文件、nodeJS 应用程序中包含 JS 脚本?

我正在openclassroom上做 NodeJS 教程。\n我使用模板引擎ejs。我尝试运行一个简单的 JS 脚本,但我不能。

\n\n

这是我的应用程序结构:

\n\n
App_toDoList/\n\xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80app.js\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80package-lock.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80package.json\n\xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 js/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 node_modules/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views/\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 modify.ejs\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 todo.ejs\n
Run Code Online (Sandbox Code Playgroud)\n\n

我运行我的服务器app.js

\n\n
var express = require(\'express\');\nvar session = require(\'cookie-session\'); // Charge le middleware de sessions\nvar bodyParser = require(\'body-parser\'); // Charge le middleware de gestion des param\xc3\xa8tres\nvar urlencodedParser = bodyParser.urlencoded({ extended: false });\n\nvar app = express();\n\n\n/* On utilise les sessions */\napp.use(session({secret: \'todotopsecret\'}))\n\n\n/* S\'il n\'y a pas de todolist dans la session,\non en cr\xc3\xa9e une vide sous forme d\'array …
Run Code Online (Sandbox Code Playgroud)

html javascript node.js embedded-javascript

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

为什么更改路线时不保存服务数据?

我是角度新手,我尝试构建一个小型应用程序。我有一个包含变量和函数的服务:

数据服务.ts

data = [];
getData() {
  this.http.get(url).subscribe((res)=>
  this.data.push(res));
};
Run Code Online (Sandbox Code Playgroud)

我也有两条路线:

app.module.ts(此处定义服务)

import { DataService } from './data.service';
// ...
const appRoutes = [
  { path: 'home', component: HomeComponent },
  { path: 'settings', component: SettingsComponent }
]
    
@NgModule({
  // ..
  providers: [DataService],
  // ..
})
Run Code Online (Sandbox Code Playgroud)

当我在 homeComponent 中使用 getData 函数时,它工作正常,并且响应被添加到数据数组中。但是 - 这就是问题 - 一旦我导航到第二条路线,服务中的数据又恢复为空数组。

我本以为当我导航时该服务不会“重新启动”。

那么,问题出在哪里呢?谢谢。

angular-services angular

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

无法使用 jest.each 运行测试

我正在尝试将文件加载到数组中,然后对它们运行测试。这是我的代码:

let files: string[] = []

describe.only("Name of the group", () => {
  beforeAll(() => {
    files = ["a", "b"]
  })

  test.each(files)("runs", f => {
    console.log(f)
  })
})

Run Code Online (Sandbox Code Playgroud)

但是,我得到

错误:.each使用空的表数据数组调用。

我究竟做错了什么?

谢谢!

javascript testing typescript jestjs

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