小编Tit*_*tan的帖子

如何使html表列可调整大小?

我有一个相当标准的bootstrap风格<table>.我想使这个表的列可以调整大小,例如通过单击并拖动<th>元素的右边框.我不能使用任何jQuery插件,因为我使用Angular并且jQuery依赖是不可接受的.

我想如果我可以在<th>元素的右边界上捕捉click/mousemove事件,我可以实现我自己的调整大小逻辑(监视水平鼠标移动并相应地调整宽度),但我不知道如何做到这一点(据我所知,没有与元素边界相关的事件.

使用户可以调整列的最佳方法是什么?没有jQuery(最好是在Angular 2上下文中).

html javascript css html5 angular

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

什么用于TypeScript中的纯数据对象:类或接口?

我有一堆只有数据的"类"(在.NET世界中我们称之为POCO对象),它们没有任何方法甚至构造函数.示例是客户,产品,用户实体,您将其命名为......

最初我开始使用typescript类,但现在我认为将它们声明为接口可能会更好.从性能的角度来看,不仅仅是......在C#中,我们习惯使用不同的接口,而对于"POCO"(普通旧clr对象或"仅数据"对象)我们使用只是一个类(有时甚至是结构).

在TypeScript中声明它们的正确方法是什么?

请注意,我主要理解(我认为)类和接口之间的技术差异(即接口是编译时构造),但我试图找出哪种语义符合这种情况.

PS:我见过类似的问题(比如这个),但是没有一个问题清楚明确地解决这个具体问题,所以请不要将其视为'可能重复'或'基于意见'(因为它不是): )

javascript typescript

19
推荐指数
2
解决办法
2925
查看次数

如何从函数创建Observable?

我想调用一个函数(同步),然后使用它的返回值作为初始发射(随后将一些其他运算符链接到生成的observable上).

我想在订阅期间调用此函数,所以我不能只使用Observable.of(() => getSomeValue()).我已经看过bindCallback(之前的fromCallback),但我不认为它可以用于这项任务(如果我错了,请纠正我).我start在v4文档中看到了静态运算符,但显然它没有在v5中实现(并且没有表明它在路上).RxJava也有fromCallable运营商完成那个afaik.

我能想到的只有这样:

Observable.create((observer: Observer<void>) => {
  let val = getSomeValue();
  observer.next(val);
  observer.complete();
})
Run Code Online (Sandbox Code Playgroud)

我认为就是这样.但是这对于简单的事情来说似乎很复杂,应该是这样的Observable.fromFunction(() => getSomeValue()).如果我想异步运行它,就像start运算符一样?如何在RxJS的当前版本中执行此操作?

javascript system.reactive rxjs rx-java rxjs5

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

Bootstrap(4)可以与Angular Material(2)一起集成吗?

我想使用Angular Material 2库,因为它的(不断增加的列表)组件.但是我习惯于引导它,它的好处就像响应实用程序和轻量级用户界面的典型事物.通过Bootstrap我主要是指它的CSS部分,我几乎从不需要它的JS功能.

例如,在Material lilbrary中,列表组几乎没有样式,而Bootstrap则使用它的css.

我记得读到结合它们并不是一个好主意,主要是因为它们的全球应用程序范围的风格会发生冲突.我找不到那个来源而且我很好玩 - 当前版本是真的吗?如果是这样,究竟什么是冲突的,如何解决?

javascript css twitter-bootstrap angular-material2 angular

15
推荐指数
3
解决办法
6103
查看次数

我们是否需要取消订阅完成/错误输出的可观察性?

当我知道我的组件/类超出范围之前,observable肯定会完成(通过completeerror通知),我是否还需要取消订阅才能防止内存泄漏?换句话说,完成/错误编辑是否可以自动清理,所以我不必担心?

system.reactive rxjs rx-java angular

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

在Entity Framework Core中编写实体POCO类的正确方法是什么?

EF Core默认具有"代码优先心态",即它应该以代码优先的方式使用,即使支持数据库优先方法,它也只是对现有数据库进行逆向工程和创建代码优先表示.我的意思是,在代码"手工"(代码优先)中创建并从数据库(通过Scaffold-DbContext命令)生成的模型(POCO类)应该是相同的.

令人惊讶的是,官方EF Core文档显示出显着差异.下面是在代码中创建的模型的例子:https://ef.readthedocs.io/en/latest/platforms/aspnetcore/new-db.html这里是逆向工程从现有的数据库它的例子:HTTPS: //ef.readthedocs.io/en/latest/platforms/aspnetcore/existing-db.html

这是第一种情况下的实体类:

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }

    public List<Post> Posts { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }

    public int BlogId { get; set; }
    public Blog Blog { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是第二种情况下的实体类:

public partial class Blog …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework entity-framework-core asp.net-core

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

如何在Angular 2中将ActivatedRoute序列化为字符串?

我正在尝试构建breadcrumb以显示在我的"shell"组件中(一个带有<router-outlet>).我正在注入Angular的Router服务,并通过遍历routerState.rootfirstChild(或children[0])属性遍历它直到null,构建包含当前显示的路由的(链接)组件列表.结果是一个链接的ActivatedRoute对象列表.当我将自定义数据附加到每个定义的路径(例如标题)时,我可以ActivatedRoute.data在运行时获取(通过成员),因此我可以在面包屑中显示项目的名称.

但问题在于链接(网址).ActivatedRoute拥有链中特定路径的所有信息,但我找不到将其序列化为单个字符串值的方法,以用作痕迹中的链接.我当然可以手动解析它,但这对于一些非常必要的东西来说太过分了.ActivatedRoute有url(本身分成段),查询参数,矩阵参数等所有在不同的属性(其中一些甚至Observables,不必要地使事情复杂化)...但没有单个字符串属性,提供完整的URL(与params和一切).

顺便提一下,该Router服务具有serializeUrl()接受类型参数的成员,UrlTree并将其转换为字符串.也许有一些方法可以转换ActivatedRouteUrlTree,所以我可以使用Router.serializeUrl()

简单地说:如何从ActivatedRoute(或ActivatedRouteSnapshot)对象中获取序列化字符串?(显然我自己没有编写整个解析逻辑).

这似乎是必不可少的东西,因为ActivatedRoute本质上是字符串url的解析表示(如果我正确地理解了这整个概念)...... Router甚至还有帮助方法来UrlTree对象化字符串(从来没有解释如何在第一个中检索地点)...

angular

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

如何将异步与锁定结合起来?

正如Stephen Cleary著名的博客文章所指出的那样,永远不要尝试同步运行异步代码(例如,通过Task.RunSynchronously()或访问Task.Result)。另一方面,您不能在lock语句中使用async / await 。

我的用例是ASP.NET Core应用程序,它使用IMemoryCache缓存一些数据。现在,当数据不可用时(例如,删除了缓存),我必须重新填充它,并且应该使用来保护lock

public TItem Get<TItem>(object key, Func<TItem> factory)
{
    if (!_memoryCache.TryGetValue(key, out TItem value))
    {
        lock (_locker)
        {
            if (!_memoryCache.TryGetValue(key, out value))
            {
                value = factory();
                Set(key, value);
            }
        }
    }
    return value;
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,工厂功能不能异步!如果必须异步该怎么办?

附言:此答案下方评分最高(超过70票)的评论要求相同,但完全没有答复。

编辑:我认为这不是一个重复的问题,从某种意义上说,链接的答案是作者的第三方库。没有第三方代码,没有解决方案吗?也许提到SemaphoreSlim.WaitAsync可以成功使用吗?..它们各自的优缺点是什么?我们可以讨论一下吗?请重新打开问题。我不认为该问题可以通过链接的答案来解决(它只是提出了非常有主见的,主观的“ hack”)。

.net c# asp.net asynchronous

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

Angular中组件的字符串@Input属性的属性绑定与属性绑定?

要设置@Input()组件的字符串属性,我们可以使用两种语法:

<my-component caption="Hello there" type="primary" someThing="text value"></my-component>

要么:

<my-component [caption]="'Hello there'" [type]="'primary'" [someThing]="'text value'"></my-component>

我完全知道这两种绑定之间的区别。问题是:如果我有一堆要静态设置的字符串@Input()属性,我可以使用简单的属性绑定语法(第一个示例)而不是更多的“肉”属性绑定语法(第二个示例)吗?

有什么建议,为什么?即是要权衡些什么,即使设置静态字符串输入,始终使用属性绑定还是更可取的呢?

这是我能想到的一些缺点:

  • 属性绑定实际上是作为HTML属性应用的,例如,用户可以通过浏览器的dev工具轻松查看/更改它们。属性绑定不是标记的一部分。
  • 属性绑定可能会与实际的HTML属性名称发生冲突(除非您给它们加上前缀,否则会data- 破坏简单性的整个目的)。已经咬住我的实际例子是title属性。
  • 使用Angular Language Service进行属性绑定的标记中没有智能。

但是主要优点是简单。在上面的示例中,您将同意第一种形式更优雅。在我的项目中,似乎很多属性都是常量(一次性设置)字符串属性,并且语法在可读性方面产生了实际差异。

那么...对自定义(非HTML)字符串属性使用属性绑定语法是一种不好的做法吗?(鉴于我知道/可以接受上述列出的一些限制的事实)

html html5 binding angular

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

如何“强制”/警告用户调用 Dart 中对象的 dispose 方法?

StreamController我的一些域类包含需要处置的资源(例如)。因此,我dispose在进行清理的类中实现了方法。dart 中没有正式的合同(就像IDisposable在 C# 中一样)可以表明这一点(是的,实现类似的东西很简单,我的意思是没有内置的设施/既定的风格,据我所知)。所以我的dispose方法就是任何其他方法。该类的用户很可能有一天会忘记调用它。

顺便说一句,我发现同一个StreamController类(例如)以某种方式“强制”您调用它的close()方法,如果遇到没有相应调用的实例,则会在 IDE 中发出警告close()Close instances of "dart.core.Sink"。我认为这是在这个特定类的 dart 插件中实现的,我想知道是否有机会向包含dispose. 我发现的最接近的是有助于继承,但我正在为我的类的用户@mustCallSuper寻找类似的解决方案。

那么,是否有类似于 IDE 警告的东西@mustCallSuper可以Sink.close()用来引起用户对dispose所需对象的注意?

dispose dart flutter

5
推荐指数
0
解决办法
321
查看次数

如何将边距或CSS类应用于Angular 2组件?

假设我有一个组件,我想要应用一些边距,最好通过Bootstrap辅助类,例如mt-3来应用上边距.当我在组件上指定它们时,如下所示:

<my-custom-input 
   required 
   class="mt-3" 
   name="usr" 
   label="User" 
   placeholder="Please enter username" 
   [(ngModel)]="username">
</my-custom-input>
Run Code Online (Sandbox Code Playgroud)

class="mt-3"没有做任何事情!通过Chrome开发工具手动设置边距也是不可能的...我猜是因为my-custom-input不是预定义的HTML元素(如div),它不能定义边距?

在任何应用程序中,这似乎都是非常微不足道的事情,但我很惊讶到目前为止我找不到答案.我们如何重新定位这样的组件?至少,在父级别(而不是在组件模板内)指定边距似乎是至关重要的事情吗?

css angular

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