我正在构建一个应用程序,该应用程序将使用(很可能)其他应用程序也会使用的库。在 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) 一直试图用多个文件实现文件上传器,我一直无效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) 我正在使用 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) 我正在尝试编写一些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'?
更新
在我看到“只需使用字符串文字!”之前 请注意,我正在尝试逃避角色()-_=+{[}|]。我认为正则表达式引擎不知道如何正确解析我的表达式。有一点我已经|]改变了]|,发现我的正则表达式只要有小写、大写和数字就可以传递所有内容。现在一切都失败了。我正在寻找的答案将解释我的正则表达式有什么问题。
我有这个正则表达式用于密码
^(?=.*[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# ×2
angular ×1
angular6 ×1
ascii ×1
asp.net ×1
asp.net-mvc ×1
javascript ×1
ngrx ×1
regex ×1