小编Mes*_*ese的帖子

Angular 2嵌套表单,包含子组件和验证

我正在尝试使用Angular 2中的验证来实现嵌套表单,我已经看到了帖子并且遵循了文档,但我真的很挣扎,希望你能指出我正确的方向.

我想要实现的是拥有一个带有多个子组件的经过验证的表单.这些子组件有点复杂,其中一些有更多的子组件,但为了这个问题,我认为我们可以解决有父母和孩子的问题.

我想要完成什么?

有一个像这样工作的表单:

<div [formGroup]="userForm" novalidate>
    <div>
        <label>User Id</label>
        <input formControlName="userId">
    </div>
    <div>
        <label>Dummy</label>
        <input formControlName="dummyInput">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这需要一个像这样的类:

private userForm: FormGroup;
constructor(private fb: FormBuilder){
    this.createForm();
}
private createForm(): void{
    this.userForm = this.fb.group({
        userId: ["", Validators.required],
        dummyInput: "", Validators.required]
    });
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作,但现在我想要解耦代码,并将"dummyInput"功能放在一个单独的不同组件中.这是我迷路的地方.这就是我的尝试,我想我离答案不远,但我真的没有想法,我对这个场景很新:

parent.component.html

<div [formGroup]="userForm" novalidate>
    <div>
        <label>User Id</label>
        <input formControlName="userId">
    </div>
    <div>
        <dummy></dummy>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

parent.component.ts

private createForm(): void{
    this.userForm = this.fb.group({
    userId: ["", Validators.required],
    dummy: this.fb.group({
        dummyInput: ["", Validators.required]
    })
});
Run Code Online (Sandbox Code Playgroud)

children.component.html

<div [formGroup]="dummyGroup">
    <label>Dummy Input: …
Run Code Online (Sandbox Code Playgroud)

forms validation components angular

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

当子项处于活动状态时,使Angular路由器父项不活动

我有一个导航栏作为路由器,有两个锚标签,Home和Create,Create是Home的孩子.我想在选中时激活Create锚标记,但Home锚也会激活,因为它是Create的父级.

是否有任何方法可以防止父级锚标记在子级时变为活动状态?

Home.component

<ul class="nav navbar-nav">
   <li [routerLink]="'/home'" routerLinkActive="active">
       <a>Home</a>
   </li>
   <li [routerLink]="'create'" routerLinkActive="active">
       <a>Create</a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

app.routing

const appRoutes: Routes = [{
    path: "home", component: HomeComponent, children: [{
        path: "create", component: CreateComponent
    }]
}];
Run Code Online (Sandbox Code Playgroud)

目前的行为

访问/ home(仅通知主锚标记处于活动状态): 在此输入图像描述

访问/ home/create(注意两个锚标签都是活动的)在此输入图像描述

想要行为

访问/ home(仅通知主锚标记处于活动状态): 在此输入图像描述

访问/ home/create(通知仅创建标记处于活动状态):在此输入图像描述

我在家庭组件中遗漏了什么或者这是一种正常的行为吗?我不应该使用Create作为Home的孩子吗?

非常感谢你们.

router angular angular-router

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

当道具依赖项更改时,React useEffect 钩子不会触发

我正在使用 useEffect 挂钩根据photos传入的道具中的数据进行 API 调用。

const ImageCarousel = ({ src, photos }) => {
  const [photoList, setPhotos] = useState([]);
  const storageRef = firebase.storage().ref();
  console.log("photos prop:", photos);

  const getImage = photoId => {
    return new Promise((resolve, reject) => {
      storageRef
        .child("images/" + photoId)
        .getDownloadURL()
        .then(url => resolve(url))
        .catch(error => reject(error));
    });
  };

  useEffect(() => {
    console.log("trigger");
    Promise.all(
      photos.map(async photoId => {
        const url = await getImage(photoId);
        return url;
      })
    )
      .then(photoUrls => {
        setPhotos(photoUrls);
      })
      .catch(e => console.log(e));
  }, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

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

C#SQL查询阻止服务器内存

我还是有点新手,我被分配了维护先前完成的代码的任务.我有一个模拟SQL Management Studio的Web,例如限制删除选项,因此基本用户不会搞砸我们的服务器.好吧,我们有一个函数,需要一个查询或查询,它工作正常,但我们的服务器RAM被复杂的查询炸毁,也许它不是那么多的数据,但它的铸造xml和所有那些我仍然没有的东西在SQL中理解.

这是实际的功能:

public DataSet ExecuteMultipleQueries(string queries)
    {
        var results = new DataSet();
        using (var myConnection = new SqlConnection(_connectionString))
        {
            myConnection.Open();
            var sqlCommand = myConnection.CreateCommand();
            sqlCommand.Transaction = myConnection.BeginTransaction(IsolationLevel.ReadUncommitted);
            sqlCommand.CommandTimeout = AppSettings.SqlTimeout;
            sqlCommand.CommandText = queries.Trim();
            var dataAdapter = new SqlDataAdapter { SelectCommand = sqlCommand };
            dataAdapter.Fill(results);
            return results;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我有点失落,我读过许多不同的答案,但要么我不理解他们,要么他们不以任何方式解决我的问题.

我知道我可以使用Linq-toSql-或Entity,我尝试了它们但我真的不知道如何使用"未知"查询,我可以尝试更多地研究,所以如果你认为它们会帮助我接近一个解决方案,无论如何,我会尝试学习它.

所以要点:

该函数似乎在dataAdapter.Fill(results)调试时停止,此时服务器尝试回答查询并消耗其所有RAM并阻塞自身.我怎么解决这个问题?我想也许可以让SQL返回一定数量的数据,将它存储在某个集合中,然后继续返回数据,并继续前进,直到没有更多数据从SQL返回,但我真的不知道如何检测还有从SQL返回的数据.

我还考虑过在两个不同的线程中读取和存储,但我不知道一个线程中的数据如何存储在其他线程异步中(如果它解决了问题,则更少).

所以,是的,我根本没有任何明确的信息,所以任何指导或提示都会受到高度赞赏.

在此先感谢并为长篇文章感到抱歉.

c# sql linq sql-server entity-framework

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