小编Lum*_*ous的帖子

如何将本地库导入 Angular6 应用程序?

我正在构建一个应用程序,该应用程序将使用(很可能)其他应用程序也会使用的库。在 Angular 6 中,创建一个新库就像ng g library MyLibrary. 构建您的库,使其可在您的应用程序中使用ng build MyLibrary。最后,根据文档,您可以像import { SomethingFromMyLibrary } from 'MyLibrary';在 app.module.ts 文件中导入任何其他库一样导入您的库。我的问题是,为什么这对我不起作用?我收到错误Cannot find module 'AbsenceMonitorCore'对于我的情况,具体的导入语句是import { AbsenceMonitorCoreModule } from 'AbsenceMonitorCore';

这是我的库模块:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { FormsModule } from '@angular/forms';
import { AbsenceMonitorCoreComponent } from './absence-monitor-core.component';

import { AbsencesComponent } from './components/absences/absences.component';
import { SigninComponent } from './components/signin/signin.component';
import …
Run Code Online (Sandbox Code Playgroud)

angular angular6

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

文件上传导致asp.net mvc中的模型状态无效

一直试图用多个文件实现文件上传器,我一直无效ModelState.这是我的代码(只是必需品)

视图模型:

public IEnumerable<HttpPostedFileBase> files { get; set; }
Run Code Online (Sandbox Code Playgroud)

view.cshtml:

@model ITManagement.ViewModels.AssetViewModel

@using (Html.BeginForm(new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
    <h4>Asset</h4>
    <hr />
.
. The rest of the form is located here
. 
.
    <div class="form-group">
        @Html.LabelFor(viewModel => viewModel.objectModel.documentInfo.documents.fileContent, htmlAttributes: new {@class = "control-label col-md-2" } )
        <div class="col-md-2">
            <input class="single-line" id=@Html.IdFor(viewModel => viewModel.files)
                   name=@Html.NameFor(viewModel => viewModel.files)
                   type="file" multiple="multiple" />
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

控制器:

    [Route("create", Name = AssetsControllerRoute.Create)]
    public ActionResult create()
    {
        AssetViewModel evm = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

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

什么时候在 ngrx/component-store 中使用 updater() 和 patchstate() ?

我正在使用 ngrx/component-store 并且到目前为止很喜欢它。拥有构建我自己的简单数组的先验商店知识,到目前为止,我唯一真正头痛的是当我必须更新数组并发现我必须始终为内部compare()管道创建一个新数组才能实现数组已更新。

无论如何,通读文档,它讨论了更新程序方法和 patchState。对我来说,他们做的事情完全相同,但他们的创作略有不同。您可以在方法内部调用 patchState,而 this.updater() 返回一个方法,为您提供可以在服务中公开的函数。每当我更新状态时,总是在网络调用之后。我假设在很多情况下您希望在没有网络调用的情况下更新状态,因此这就是为什么您希望有一个更新程序可供组件调用。问题是,如果更新程序和 patchState 确实在做同样的事情,那么在效果中调用更新程序或使用 patchState 是更好的做法,还是我在效果中放置了太多逻辑?

顺便说一句,文档说更新方法应该是一个纯函数。如果您使用它来将对象推送到数组上,那么它真的是纯粹的吗?

// adding the selectors so people know what components are subscribing to
readonly approvals$ = this.select(state => state.requestApprovals);
readonly registration$ = this.select(state => state);

readonly updateAssessment = this.effect(($judgement: Observable<{id: string, isApproved: boolean}>) => {
    return $judgement.pipe(
      switchMap((evaluation) => {
        const state = this.get();
        return this.requestApproval.patch(state.id, state.companyName, evaluation.id, evaluation.isApproved).pipe(
          tapResponse(
            (result) => {

             // is it better to call patchState()?
              this.patchState((state) => {
                for(let i = …
Run Code Online (Sandbox Code Playgroud)

ngrx ngrx-component-store

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

为什么这两个字符串不一样?

我正在尝试编写一些javascript并通过使用获取一些元素,document.getElementById("ct100_ContentPlaceHolder1_search");并且由于某种原因它不会找到它.它总是返回null.

在认为这是我使用双引号或单引号后,我在文档中找到了元素的id,并将id打印到文本框中.我将文本复制/粘贴到记事本,然后决定编写这一小段代码

var id = e.target.id;

if (id == "ctl00_ContentPlaceHolder1_search") {  <-- Copied/pasted from notepad. Returns true
    var foo6 = document.getElementById("ctl00_ContentPlaceHolder1_search");
}
if (id == "ct100_ContentPlaceHolder1_search") { <-- Typed out. Returns false
    var foo5 = document.getElementById("ct100_ContentPlaceHolder1_search");
}
Run Code Online (Sandbox Code Playgroud)

如果重要的话,该页面是用ASP.NET构建的.那是怎么回事?我没有线索.

这是我用来表示两个字符串不一样的正则表达式.正则表达式是从记事本中复制/粘贴的.它表明'1'是不同的,但那是什么样的'1'?

javascript asp.net ascii

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

如何转义 c# 拒绝转义的字符?

更新

在我看到“只需使用字符串文字!”之前 请注意,我正在尝试逃避角色()-_=+{[}|]。我认为正则表达式引擎不知道如何正确解析我的表达式。有一点我已经|]改变了]|,发现我的正则表达式只要有小写、大写和数字就可以传递所有内容。现在一切都失败了。我正在寻找的答案将解释我的正则表达式有什么问题。


我有这个正则表达式用于密码

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[~`!@#$%^&*()-_=+{[}|]:\";'<>?,./\\])[^\r\n\t\f ]{8,16}$
Run Code Online (Sandbox Code Playgroud)

下面是 javascript 中等效的文字:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~`!@#$%^&*()\-_=+{[}\]|:";'<>?,.\/\\])[^\r\n\t\f ]{8,16}$/
Run Code Online (Sandbox Code Playgroud)

javascript 表达式工作正常。至少 1 个小写字母、1 个大写字母、1 个数字、1 个特殊字符,且长度介于 8 到 16 个字符之间。

我的问题是我不知道如何转义组中的分组字符

(?=.*[~`!@#$%^&*()-_=+{[}|]:\";'<>?,./\\])
Run Code Online (Sandbox Code Playgroud)

具体来说,{[}|]部分。如果我尝试\[它会出错,但好的 ole MSDN却另有说明。

我在密码字段的验证属性中使用它

[RegularExpression("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[~`!@#$%^&*()-_=+{[}|]:\";'<>?,./\\])[^\r\n\t\f ]{8,16}$", ErrorMessage = "Password must meet all specified criteria.")]
Run Code Online (Sandbox Code Playgroud)

c# regex

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