我正在努力使用ng2-datetime.通过npm安装,但是当我构建解决方案时,我收到一个找不到名称'jQuery'的错误.
我已经通过npm添加了jQuery,并尝试包含jquery库,但问题仍然存在.任何人都可以告诉还包括哪些内容?我正在使用带有打字稿的angular 2.2,我的IDE是VS2015
app.module.ts
刚刚添加了import语句
import { NKDatetimeModule } from 'ng2-datetime/ng2-datetime';
Run Code Online (Sandbox Code Playgroud)
并且在进口下
@NgModule({
imports:[NKDatetimeModule ])}
Run Code Online (Sandbox Code Playgroud) 我有以下jsfiddle
我希望能够将我的自定义组件粘贴到特定的网格中(例如"")
现在没有Angular2,我只是使用:
var el = $.parseHTML("<div><div class=\"grid-stack-item-content\" data-id=\""+id+"\"/><div/>");
this.grid.add_widget(el, 0, 0, 6, 5, true);
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道我怎么能这样做:
var el = $.parseAndCompileHTMLWithComponent("<div><div class=\"grid-stack-item-content\" data-id=\""+id+"\"/><fancy-button></fancy-button><div/>");
this.grid.add_widget(el, 0, 0, 6, 5, true);
Run Code Online (Sandbox Code Playgroud)
在angular1中,我知道有一个编译,但在angular2中,没有这样的东西.
我的花哨按钮组件很简单,如下所示:
@Component({
selector: 'fancy-button',
template: `<button>clickme</button>`
})
export class FancyButton {}
Run Code Online (Sandbox Code Playgroud)
如何动态添加花式按钮组件?
因此,我很难使用React光纤门户为模态组件编写测试.因为我的模态安装到根目录上的<body />domNode但由于domNode不存在,测试失败.
一些代码,上下文:
的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>React App</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="modal-root"></div>
<div id="root"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
App.js
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { Modal, ModalHeader } from './Modal';
class App extends Component {
constructor(props) {
super(props);
this.state = …Run Code Online (Sandbox Code Playgroud) 如何在Jest中循环动态测试用例?
我有以下测试用例如何使用it/test方法动态创建jest测试用例.
这是我尝试过的,但它只是通过而没有在循环中排除测试用例.
const mymodule = require('mymodule');
let testCases = [
{q: [2, 3],r: 5},
{q: [1, 2],r: 3},
{q: [7, 0],r: 7},
{q: [4, 4],r: 8}
];
describe("Test my Math module", () => {
test("test add sub module", () => {
for (let i = 0; i < testCases.length; i++) {
let item = testCases[i];
let q = item.q;
let expected = item.r;
it(`should add ${q[0]},${q[1]} to ${expected}`, () => {
let actual = mymodule.add(q[0] + …Run Code Online (Sandbox Code Playgroud) 我想实现这样的东西/products显示所有产品并/products/:category显示与特定类别相关的所有产品.为实现这一点,我有以下路线:
const productsRoutes: Routes = [
{
path: 'products',
component: ProductsComponent,
children: [
{
path: '',
component: ProductsListComponent,
},
{
path: ':category',
component: ProductsListComponent
}
]
}
];
Run Code Online (Sandbox Code Playgroud)
问题
当我在类别之间切换时,一切都很好,当我在所有产品和类别产品之间切换时,反之亦然,Angular会重新绘制组件,并且会出现闪烁现象.
Angular 2路由器最终版本没有正则表达式,据我所知.有什么东西我缺少,或者现在这是唯一的解决方案?
我正面临laravel自定义验证消息的问题,这是我所拥有的:
$rules = [
'first_name' => 'required|alpha|min:2',
'last_name' => 'required|alpha|min:2',
'email' => 'required|email|unique:users,email,' . Input::get('id') . ',id',
'password' => 'alpha_num|between:6,12|confirmed',
'password_confirmation' => 'alpha_num|between:6,12',
'address' => 'regex:/^[a-z0-9- ]+$/i|min:2',
'city' => 'alpha|min:2',
'state' => 'alpha|min:2|max:2',
'zip' => 'numeric|min:5|max:5',
'phone' => 'regex:/^\d{3}\-\d{3}\-\d{4}$/',
];
$messages = [
'unique' => 'The :attribute already been registered.',
'regex' => 'The :attribute number has to be formated : xxx-xxx-xxxx.',
];
Run Code Online (Sandbox Code Playgroud)
现在如果地址或电话号码有问题,因为两者都有正则表达式验证规则,错误信息将是::属性编号必须格式化:xxx-xxx-xxxx,我怎么能为每个不同的自定义消息一个?
所以我读到了关于Angular 2变化检测的这篇文章,但在阅读之后我感到更加困惑,所以我开始阅读一些导致更多混淆的评论.
如果组件仅依赖于其输入属性,并且它们是不可变的,那么当且仅当其中一个输入属性发生更改时,此组件才会更改.因此,我们可以跳过更改检测树中的组件子树,直到发生此类事件.当它发生时,我们可以检查一次子树,然后禁用它直到下一次更改(灰色框表示禁用更改检测器).
因此,如果{{todo.text}}或todo.checked更改,我们会标记我们的待办事项:Todo已发生更改

但是根据我的理解,我们可以创建一系列不可变对象.
如果我们积极使用不可变对象,那么大部分时间都会禁用更改检测树的大部分.
@Component({changeDetection:ChangeDetectionStrategy.OnPush})
class ImmutableTodoCmp {
todo:Todo;
}
Run Code Online (Sandbox Code Playgroud)
那么在这种情况下,{{todo.text}}或todo.checked上的任何更改都不会被注意到吗?只有当Todo被推动时,我们才会看到变化?
如果组件仅依赖于其输入属性,并且它们是可观察的,那么当且仅当其中一个输入属性发出事件时,此组件才能更改.因此,我们可以跳过更改检测树中的组件子树,直到发生此类事件.当它发生时,我们可以检查一次子树,然后禁用它直到下一次更改.
虽然它可能听起来类似于Immutable Objects案例,但它却完全不同.如果您有一个具有不可变绑定的组件树,则更改必须从根开始遍历所有组件.处理可观察量时不是这种情况.
我不知道Observables与Immutables有什么不同,在Todo应用程序的这个特定情况下,哪种方法更好?
我已经为Windows安装了Node.js,我正在尝试通过npm安装一个软件包.命令提示符位于项目目录中(C:\ Users\username\Desktop\NodeTest),其中包含一个helloworld.js文件.输入'npm install express'后,我收到以下错误:
ENOENT: no such file or direcotry, open 'C:\Users\username\package.json
我正在尝试从干净的安装和cmd作为管理员运行.
有任何想法吗?
我想附加到每个错误日志,即错误发生前用户请求的页面的URL.日志已经告诉我错误发生的地方,但是对我来说知道网址是有价值的.
我看到有一个Handler.php文件,但我怎么能在那里附加网址?
我一直在寻找 Angular 的文档和源代码,但到目前为止没有运气。
import {
ContentChildren,
QueryList
} from '@angular/core';
import { AwesomeComponent } from './awesome.component';
@Component({
selector: 'cool-dad',
templateUrl: './cool-dad.template.html'
})
export class CoolDadComponent {
@Input() loop = false;
@Input() automatic = false;
@ContentChildren(AwesomeComponent) items: QueryList<AwesomeComponent>;
someFunc() {
this.items.forEach(item => { console.log(item)});
}
}
Run Code Online (Sandbox Code Playgroud)
通过上面的代码,我获得了对组件的引用,我可以设置它的属性并调用它的公共方法。太好了,但我还需要访问它的 html 属性,例如宽度、高度等。
import {
ContentChildren,
ElementRef,
QueryList
} from '@angular/core';
import { AwesomeComponent } from './awesome.component';
@Component({
selector: 'cool-dad',
templateUrl: './cool-dad.template.html'
})
export class CoolDadComponent {
@Input() loop = false;
@Input() automatic = false; …Run Code Online (Sandbox Code Playgroud) angular ×5
jestjs ×2
laravel ×2
node.js ×2
enzyme ×1
error-log ×1
gridstack ×1
javascript ×1
jsdom ×1
laravel-4 ×1
laravel-5.1 ×1
logging ×1
npm ×1
php ×1
reactjs ×1
typescript ×1
unit-testing ×1