我是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) 有什么办法可以进入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
可以支持这一点?
我正在使用Configure javascript defaults
monaco editor playground 中的示例。
当我开始输入预定义的类时,我会自动完成,但我需要按一次 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)
它现在如何打开:
我希望它如何默认打开:
进度栏为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&drop support, progress bars, validation and preview images, …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个简单的项目,其中单个块元素悬停将显示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 标签(如<div></div>
& <span></span>
),但禁用其他 HTML 标签,如<script></script>
, <input/>
。
我可以创建一个自定义指令以便手动完成,但我知道有一种方法可以使用$sanitize
,$compileProvider
和$compileProvider.directive
. 我找不到有关此功能的任何文档。
如何禁用除<div>
没有任何属性的标签之外的所有 html ,$compileProvider.directive
而不是使用我自己的指令?
我正在本地使用 karma 为我的项目实现一些测试,并使用 Travis 进行github测试集成(除非所有测试都通过,否则无法合并拉取请求)
我真的很想对代码格式化做同样的事情。我使用jscs和gulp来检查代码。
我考虑过为Travis添加一个测试,以便在 PR 格式不正确时使测试失败。
有这样做的标准方法吗?目前,我考虑了两个选择:在我的测试套件中添加一个测试来检查格式。如果返回任何错误,则使测试失败。另一种选择是仅在Travis上运行任务,但我不能使Travis构建在 lint 任务上失败。
我看到有一个 karma 预处理器,但据我检查,如果发现任何 jscs 错误,它不会使 travis 失败。
对此有更好的做法吗?
我在互联网上找不到任何内容,因为<TEST_FRAMEWORK> test file formatting
只返回了很多有关如何正确格式化测试的结果(可读性)
我正在openclassroom上做 NodeJS 教程。\n我使用模板引擎ejs
。我尝试运行一个简单的 JS 脚本,但我不能。
这是我的应用程序结构:
\n\nApp_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
:
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) 我是角度新手,我尝试构建一个小型应用程序。我有一个包含变量和函数的服务:
data = [];
getData() {
this.http.get(url).subscribe((res)=>
this.data.push(res));
};
Run Code Online (Sandbox Code Playgroud)
我也有两条路线:
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 函数时,它工作正常,并且响应被添加到数据数组中。但是 - 这就是问题 - 一旦我导航到第二条路线,服务中的数据又恢复为空数组。
我本以为当我导航时该服务不会“重新启动”。
那么,问题出在哪里呢?谢谢。
我正在尝试将文件加载到数组中,然后对它们运行测试。这是我的代码:
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 ×7
html ×3
jquery ×3
angular ×2
angularjs ×2
css ×2
testing ×2
ajax ×1
formarray ×1
formatting ×1
jestjs ×1
jstree ×1
karma-runner ×1
ngsanitize ×1
node.js ×1
travis-ci ×1
typescript ×1