小编JME*_*JME的帖子

Angular2 RC 5.找不到动态加载组件的组件工厂

我正在尝试将我的动态组件加载程序从RC4更新到RC5,因为不推荐使用ComponentResolver.我已将加载程序更新为以下内容

@Component({
    selector: 'component-dispatcher',
    template: `<div #container></div>` // Define the template here because of its brevity
})
export class ComponentDispatcherComponent implements OnInit, OnDestroy {
    @Input() component:any; // Some dynamic component to render
    @Input() options:any;   // Component configuration, optional
    @Input() data:any;      // Data to render within the component

    // Inject the dynamic component onto the DOM
    @ViewChild("container", {read: ViewContainerRef}) container:ViewContainerRef;

    private componentReference:ComponentRef<any>;

    constructor(private resolver:ComponentFactoryResolver) {
    }

    ngOnInit() {
        // Create our component now we're initialised
        let componentFactory = this.resolver.resolveComponentFactory(this.component);
        this.componentReference = …
Run Code Online (Sandbox Code Playgroud)

angular

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

更改JAXB marshaller生成的XML标头

我目前正在使用以下代码将对象编组为xml字符串

    JAXBContext context;

    try {
        context = JAXBContext.newInstance(heartbeat.getClass());
        StringWriter writer = new StringWriter();
        Marshaller marshaller = context.createMarshaller();

        heartbeat.setHeader(header);
        heartbeat.setHeartbeatEvent(event);

        marshaller.marshal(heartbeat, writer);
        String stringXML = writer.toString();
        return stringXML;

    } catch (JAXBException e) {
        throw new RuntimeException("Problems generating XML in specified "
                + "encoding, underlying problem is " + e.getMessage(),
                e);
    }
Run Code Online (Sandbox Code Playgroud)

这会产生以下标题

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)

我想要的输出如下

<?xml version=\"1.0\"?>
Run Code Online (Sandbox Code Playgroud)

通过将此添加到编组器

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.FALSE);
marshaller.setProperty("com.sun.xml.bind.xmlHeaders", "<?xml version=\"1.0\"?>");
Run Code Online (Sandbox Code Playgroud)

我收到

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><?xml version="1.0"?>
Run Code Online (Sandbox Code Playgroud)

并将JAXB_FRAGMENT属性更改为TRUE将完全删除标头.我一直关注JAXB - 从生成的XML线程中删除'standalone ="yes"'试图解决问题,但到目前为止我没有运气.有人可以给我一些关于如何从JAXB marshaller获取所需标题的见解吗?

java jaxb

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

为什么静态类在JAXB解组中是特殊的

我有几种情况,JAXB从xsd文件生成的类有一系列类列表,这些类也包含类列表.生成的类在处理这些情况时使用静态内部类,但这会导致多个实例多次存在一个类.

作为一个例子,我有一个存在于多个xsd文件中的Parameter类.在每个实例中,此参数类都相同并包含键值对.为每个xsd文件生成代码时,每个生成的类都包含一个名为Parameter的内部类.

为了减少冗余,我从所有生成的类中删除了Parameter类,重新实现了它,并更新了所有引用.这按预期工作

当我有另一个类,如LogicalDevice,也在几个类中实现时,会出现问题.LogicalDevice包含一个ParameterList.当LogicalDevice被提取到它自己的类,并且引用被更新时,只保留Parameter类中的第一个属性,其余属性为null.

这让我相信静态内部类有一些特殊之处.

这里参考我的xml和代码

<Jetstream xmlns="http://Jetstream.TersoSolutions.com/v1.1/GetPoliciesResponse">
    <Header/>
    <GetPoliciesResponse>
        <PolicyList>
            <Policy Id="53bb663f-7ed0-41f8-9757-90ad4e015995" Name="MyPolicy"
                 DeviceDefinitionId="f3536a6d-4610-4d56-82d9-54fd6602a883" >
                <ParameterList>
                    <Parameter Name="aggregateeventscancount" Value="2"/>
                    <Parameter Name="aggregateeventscantime" Value="10"/>
                    <Parameter Name="antenna1rxsensitivity" Value="50"/>
                    <Parameter Name="antenna1txpower" Value="30"/>
                    <Parameter Name="antenna2rxsensitivity" Value="50"/>
                    <Parameter Name="antenna2txpower" Value="30"/>
                    <Parameter Name="antenna3rxsensitivity" Value="50"/>
                    <Parameter Name="antenna3txpower" Value="30"/>
                    <Parameter Name="antenna4rxsensitivity" Value="50"/>
                    <Parameter Name="antenna4txpower" Value="30"/>
                    <Parameter Name="commandpollinterval" Value="60"/>
                    <Parameter Name="dns" Value="0.0.0.0"/>
                    <Parameter Name="dooropentimelimit" Value="300"/>
                    <Parameter Name="gateway" Value="0.0.0.0"/>
                    <Parameter Name="ip" Value="0.0.0.0"/>
                    <Parameter Name="jetstreamdeviceurl" Value="https://us-device.tersosolutions.com/v1.0/device/"/>
                    <Parameter Name="lockdownhightemp" Value="127"/>
                    <Parameter Name="lockdownonacpowerfailure" Value="0"/>
                    <Parameter Name="lockdownonreaderfailure" Value="0"/>
                    <Parameter Name="lockdownonhightemp" Value="0"/>
                    <Parameter Name="logentryeventhightemp" …
Run Code Online (Sandbox Code Playgroud)

java xml jaxb

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

在 WPF 中创建自定义 UI 元素

我有几个TextBoxesLabels在我的代码与下面的XAML代码来实现:

<DockPanel HorizontalAlignment="Right">
    <TextBlock Foreground="Black" Padding="0,0,10,0">Serial Number:</TextBlock>
    <TextBox Width="150" IsReadOnly="True" BorderBrush="Gainsboro" Height="20"></TextBox>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

我可以通过执行以下操作来减少一些复制的代码:

<DockPanel HorizontalAlignment="Right">
    <TextBlock Style="{StaticResource CstmTextBoxLbl}">Serial Number:</TextBlock>
    <TextBox Style="{StaticResource CstmTextBox}"></TextBox>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

但它仍然有些冗长。是否可以执行以下操作:

<controls:CstmTextBox Style="{StaticResource CstmTextBox}" LabelText="Serial Number:" Text=""/>
Run Code Online (Sandbox Code Playgroud)

CstmTextBox将实现任何所需XAML获得一次相同的视觉效果,而且我可以访问两个TextBlock文本和TextBox代码的文本。如

CstmTextBox textbox;
textbox.LabelText = "Serial Number:";
String some_text = textbox.Text;

textbox.Text = "....";
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml

6
推荐指数
2
解决办法
6555
查看次数

启动 ActiveMQ 代理,导致错误

我正在尝试按照以下说明在 Windows 机器上启动 activemq 代理

http://activemq.apache.org/getting-started.html#GettingStarted-StartingActiveMQ

下载 Windows 二进制文件后,我切换到安装目录并按照说明使用 bin/activemq 启动代理。启动失败,在扫描文本墙后,我发现了以下错误。

ERROR | Failed to start Apache ActiveMQ ([localhost, ID:[Computer ID]:1], java.io.IOException:    Transport Connector could not be registered i
n JMX: Failed to bind to server socket: amqp://0.0.0.0:5672?maximumConnections=1
000&wireFormat.maxFrameSize=104857600 due to: java.net.BindException: Address al
ready in use: JVM_Bind)
Run Code Online (Sandbox Code Playgroud)

已在使用的地址使我相信另一个 amqp 代理,例如 RabbitMQ 或 Qpid(两者都已安装),可能已经分配了连接,因此我重新启动了计算机,但没有成功消除错误。

谁能给我一些关于如何尝试让 ActiveMQ 正常运行的想法。

activemq-classic

5
推荐指数
2
解决办法
6829
查看次数

传递服务作为Angular2中的输入

我想创建一个通用的列表组件,其中包含一些我希望所有列表都具有的功能。理想情况下,我想使用不同的服务作为组件的输入以呈现不同的数据集。角度2有可能吗?

从Angular 2文档修改示例

@Component({
    selector: 'Generic List',
    template: 
    `
    <h2>Items</h2>
    <ul class="items">
      <li *ngFor="let item of items"
          [class.selected]="isSelected(item)"
          (click)="onSelect(item)">
        <span class="badge">{{item.id}}</span> {{item.name}}
      </li>
    </ul>
    `
})
export class GTComponent {
    @Input() someService: Service;

     items: Item[];
     private selectedId: number;

    isSelected(item: Item) { return item.id === this.selectedId; }

    onSelect(item: Item) {
    }
}
Run Code Online (Sandbox Code Playgroud)

如果可能的话,如果服务具有一些getItems()返回了Promise的函数,我将如何使用服务中的数据填充items数组。

angular

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

一维卷积层是否支持可变的序列长度?

我有一系列处理过的音频文件,正在使用Keras输入到CNN中。Keras 1D卷积层是否支持可变的序列长度?Keras文档使其不清楚。

https://keras.io/layers/convolutional/

它在文档的顶部提到您可以对128维向量的可变长度序列使用(None,128)。但在底部,它声明输入形状必须为

3D tensor with shape: (batch_size, steps, input_dim)
Run Code Online (Sandbox Code Playgroud)

给定以下示例,我应如何将可变长度的序列输入网络

可以说我有两个示例(a和b),它们包含要输入到1DConv层中作为输入的长度为100的X 1维向量

3D tensor with shape: (batch_size, steps, input_dim)
Run Code Online (Sandbox Code Playgroud)

我可以使用(2,None,100)的输入形状吗?我需要将这些张量连接到c中吗

a.shape = (100, 100)
b.shape = (200, 100)
Run Code Online (Sandbox Code Playgroud)

然后重塑它成为某种东西

c.shape = (300, 100)
Run Code Online (Sandbox Code Playgroud)

其中批处理大小为3,步骤数为100,第二个为输入大小100?输入向量的文档不是很清楚。

keras keras-layer

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

在 Typescript 中重构循环依赖

我有一个 API,它对导致循环依赖的数据进行非规范化。有没有办法使用抽象类、接口、组合或其他技术来重构以下内容,我不需要为每个实体创建 N 个部分类以避免我的 Angular 应用程序的类型定义中的循环依赖?

模型.ts

export abstract class Model {
  // ... Model related data members and functions
}
Run Code Online (Sandbox Code Playgroud)

人.ts

import { Model } from './model';
import { Site } from './site';

export class Person extends Model {

  // ... Data

  site: Site; // Partially or Fully saturated site entity
}
Run Code Online (Sandbox Code Playgroud)

网站.ts

import { Model } from './model';
import { Person } from './person';

export class Site extends Model {

  // ... Data

  people: Person[]; // array of …
Run Code Online (Sandbox Code Playgroud)

typescript angular

5
推荐指数
2
解决办法
552
查看次数

用于触发属性更改事件的更短代码

我有一个有几十个属性需要引发属性更改事件的类,目前我的代码看起来像

public class Ethernet : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private string timeStamp;

    public string TimeStamp
    {
        get { return timeStamp; }
        set
        {
            timeStamp = value;

            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs("TimeStamp"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在C#中编写这种代码是否有更短的方法,我正在为每个属性进行过多的复制/粘贴操作,我觉得必须有更好的方法.

c# wpf

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

缺少类:org.apache.commons.lang.exception.NestableException

我正在关注一个在线示例,以从基本属性文件中读取信息.当我开始实现代码时,我不断在类的顶部收到以下错误.

The type org.apache.commons.lang.exception.NestableException cannot be resolved. It is indirectly referenced from required .class files

我试图通过从此页面下载apache commons lang包并将其包含在我的项目属性中来解决该错误,但这并没有解决问题.

有人可以请我告诉我为什么会抛出这个错误,以及如何解决它.

java apache apache-commons-config

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