小编pep*_*ght的帖子

Angular Element 内有独立的路由器插座

我目前正在尝试使用 Angular Elements 来制作微应用程序。这一切都工作正常,并且将我的微应用程序包含到容器应用程序中的过程工作正常,但是当我尝试增加微应用程序的复杂性以允许它们拥有自己的路由器出口时,我遇到了麻烦。

我已在 Element 的主要组件中添加了一个路由器出口,它确实通过我创建的组件进行路由,但它更改了托管应用程序的顶级 URL。

我希望此应用程序路由独立于主应用程序,并且我通过在扩展应用程序中使用命名路由器出口并将该名称添加到路由中来尝试此操作,但这导致出现错误,提示找不到路径。

我在这里遗漏了一些明显的东西,或者是我试图做的事情尚未得到 Angular Elements 的支持?我在网上找到的所有文章在展示如何制作 Angular Elements 时根本没有提到路由器。

谢谢!

router element angular

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

Angular2 拖放目标

我正在我的 angular2 应用程序中实现一个拖放功能,它的工作原理是这样的......用户会看到他们可以选择的选项列表和列表上方的拖放区 - 当他们从一个选项拖到drop zone 然后处理事件。

到目前为止,我有一个可拖动指令来处理拖动开始事件并在该事件的 dataTransfer 属性上设置一些数据。我试图做的是创建另一个指令,它是一个 dropTarget 指令,它只处理 drop 事件并获取数据。

这是可以做的事情吗?对于可拖动的 div 和放置区使用相同的指令,并插入一些逻辑,以便仅在将 div 放置在正确的目标上时才允许放置事件发生,我会不会更好。

谢谢

编辑:代码

这是我的可拖动指令的代码:

import {Directive, ElementRef} from '@angular/core';

@Directive({
    selector: '[myDraggable]',
    host: {
        '(dragstart)': 'onDragStart($event)',
        '(dragover)': 'onDragOver($event)',
        '(dragleave)': 'onDragLeave($event)',
        '(dragenter)': 'onDragEnter($event)',
        '(drop)': 'onDrop($event)'
    }
})
export class DraggableDirective {

    constructor(el: ElementRef) {
        el.nativeElement.setAttribute('draggable', 'true');
    }

    onDragStart(ev: DragEvent) {
        console.log("Drag Started");
        ev.dataTransfer.setData('Text', 'Data from drag start');
    }

}
Run Code Online (Sandbox Code Playgroud)

这是拖动目标指令代码:

import {Directive, ElementRef} from '@angular/core';

@Directive({
    selector: '[dragTarget]',
    host: {
        '(dragover)': 'onDragOver($event)'
    } …
Run Code Online (Sandbox Code Playgroud)

drag-and-drop directive typescript angular

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

来自命令行的 JMeter 多个日志文件

我正在通过 jenkins 运行 JMeter,使用命令行选项进行性能测试。当我执行命令时,我已经写入一个 jtl 文件,例如:

java -jar Jmeter路径 -n -t jmx 文件 -l 日志文件

我还想将结果放入存储在另一个位置的另一个日志文件中,但我无法通过在 -l 命令后放置另一个路径或放入第二个 -l 来使其工作。有没有办法简单地做到这一点?

谢谢

performance jmeter performance-testing jenkins

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

具有多个参数的Web Api 2通用传递方法

我正在寻找一种使Web api 2中具有通用方法集的方法,可以与http客户端一起使用,以连接到另一台服务器。

首先,对我的基础结构进行说明。我公司通常采用的简化设置(省略数据库服务器等)由两个主要服务器组成。有一个用于承载应用程序和网站的Web层服务器,以及一个包含服务/ API等的应用程序层服务器。

内部规则规定,位于Web服务器上的应用程序必须先通过代理或代理服务才能与应用程序服务器上的任何内容直接对话。

我当前针对此问题的解决方案是创建一个SDK Web API服务,其中包含API中所有路由的副本。该应用程序(在本例中为角度应用程序)通过REST api调用来调用此SDK服务,并且此中间服务的工作是使用.NET HttpClient将此调用转换为对在其上运行的“实际” api服务的调用另一台服务器。

这种方法效果很好,到目前为止,我还没有遇到任何问题,但是我觉得可能有更好的方法来做这种事情。我已经在网上搜索了描述这种事情的文章,但都不够简短,我绝不是使用.NET或Web api的专家。

我将举一个我刚才的解决方案的例子-一个调用以获取当前存储在数据库中的所有客户端。

public class ClientsController: ApiController
{
    // http client used to translate calls to api service
    private HttpClient httpClient = new HttpClient()
    {
        BaseAddress = new Uri(ConfigurationManager.AppSettings["apiUrl"])
    };

    [Route("clients")]
    [HttpGet]
    public IHttpActionResult GetClients()
    {
        httpClient.DefaultRequestHeaders.Accept.Clear();
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json");

        List<Client> clients = null;

        try
        {
            HttpResponseMessage result = httpClient.GetAsync("clients").Result;

            if (result.IsSuccessStatusCode)
            {
                clients = result.Content.ReadAsAsync<List<Client>>().Result;
                return Content(result.StatusCode, clients);
            }

            // return the failed reason code
            return Content(result.StatusCode, result.ReasonPhrase); …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-web-api

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