小编Fab*_*nes的帖子

在angular2中找不到名称'jquery'

我正在努力使用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)

typescript angular

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

使用gridstack和angular2动态添加组件?Jquery $ .parseHTML不起作用

我有以下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)

如何动态添加花式按钮组件?

gridstack angular

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

使用酶测试React门户

因此,我很难使用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)

jsdom reactjs jestjs enzyme

16
推荐指数
2
解决办法
8299
查看次数

Jest循环遍历动态测试用例

如何在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)

javascript unit-testing node.js jestjs

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

不同路线相同的组件

我想实现这样的东西/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路由器最终版本没有正则表达式,据我所知.有什么东西我缺少,或者现在这是唯一的解决方案?

angular2-routing angular

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

Laravel验证自定义消息

我正面临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,我怎么能为每个不同的自定义消息一个?

php laravel laravel-4

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

用Observable和Immutable改变检测

所以我读到了关于Angular 2变化检测的这篇文章,但在阅读之后我感到更加困惑,所以我开始阅读一些导致更多混淆的评论.

不可变对象

如果组件仅依赖于其输入属性,并且它们是不可变的,那么当且仅当其中一个输入属性发生更改时,此组件才会更改.因此,我们可以跳过更改检测树中的组件子树,直到发生此类事件.当它发生时,我们可以检查一次子树,然后禁用它直到下一次更改(灰色框表示禁用更改检测器).

因此,如果{{todo.text}}todo.checked更改,我们会标记我们的待办事项:Todo已发生更改 不可变的物体

但是根据我的理解,我们可以创建一系列不可变对象.

如果我们积极使用不可变对象,那么大部分时间都会禁用更改检测树的大部分.

级联不可变的obejcts

@Component({changeDetection:ChangeDetectionStrategy.OnPush})
class ImmutableTodoCmp {
  todo:Todo;
}
Run Code Online (Sandbox Code Playgroud)

那么在这种情况下,{{todo.text}}todo.checked上的任何更改都不会被注意到吗?只有当Todo被推动时,我们才会看到变化?

可观察对象

如果组件仅依赖于其输入属性,并且它们是可观察的,那么当且仅当其中一个输入属性发出事件时,此组件才能更改.因此,我们可以跳过更改检测树中的组件子树,直到发生此类事件.当它发生时,我们可以检查一次子树,然后禁用它直到下一次更改.

虽然它可能听起来类似于Immutable Objects案例,但它却完全不同.如果您有一个具有不可变绑定的组件树,则更改必须从根开始遍历所有组件.处理可观察量时不是这种情况.

我不知道Observables与Immutables有什么不同,在Todo应用程序的这个特定情况下,哪种方法更好?

angular

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

npm install导致'ENOENT:没有这样的文件或目录'

我已经为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作为管理员运行.

有任何想法吗?

node.js npm

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

错误登录laravel 5,其中url发生错误

我想附加到每个错误日志,即错误发生前用户请求的页面的URL.日志已经告诉我错误发生的地方,但是对我来说知道网址是有价值的.

我看到有一个Handler.php文件,但我怎么能在那里附加网址?

logging error-logging error-log laravel laravel-5.1

9
推荐指数
2
解决办法
4487
查看次数

ContentChildren,获取组件和原生元素

我一直在寻找 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

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