小编use*_*775的帖子

'this'在foreach循环中未定义

我正在编写一些打字稿代码并迭代一个数组.在循环内部,我试图访问'this'对象进行一些处理:

console.log('before iterate, this = ' +this);
myarray.days.forEach(function(obj, index) {
    console.log('before transform, this : ' + this);
    this.datePipe.transform...
});
Run Code Online (Sandbox Code Playgroud)

但这失败了,因为它抱怨'this'未定义'this'对象在循环之前/之外正确打印为[object object],但在循环内部,它是未定义的.这是为什么?那是什么解决方案?

typescript typescript1.8 typescript2.0

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

Angular 2 html check variable undefined with ngif,当值为0时排除大小写

我正在使用Angular 2,并希望使用htm ngif coniditon检查变量值是否在角度中未定义

如果我使用<span*ngIf ="!testvar">

它还涵盖了变量testvar = 0时的情况,但我想排除它为0时的情况

以下作品,但这些是2个检查:

<span *ngIf="!testvar && testvarl != 0"></span>
Run Code Online (Sandbox Code Playgroud)

我想检查这个案例,只是为了缩短它并使其更清洁.有一个简单的方法吗?

angular2-directives angular2-template angular

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

ng2-charts 自定义在条形图上悬停时显示的工具提示的数据和整个 html 内容

我正在将 valor 软件中的 ng2 图表与我的 angular 2 应用程序一起使用。我无法弄清楚如何自定义将鼠标悬停在条形图上时显示的默认工具提示的整个 html 内容。

有任何想法吗?

更新:

这是我的 html/标记代码:

<canvas baseChart width="100" height="100" style="padding:24px; border:1px solid black;border-color:gray" 
            [datasets]="barChartData"
            [labels]="barChartLabels"
            [options]="barChartOptions"
            [colors]="chartColors"
            [legend]="barChartLegend"
            [chartType]="barChartType"
            (chartHover)="chartHovered($event)"
            (chartClick)="chartClicked($event)"></canvas>
  </div>
Run Code Online (Sandbox Code Playgroud)

在我的打字稿类中,我实现了 barChartOptions 函数:

tooltips: {
    callbacks: {
        ...
        ...
}}
Run Code Online (Sandbox Code Playgroud)

定制一些东西,但这似乎真的很有限。例如,我可以使用 label 属性更改标签等:

label: function(tooltipItem, data) {                
    return "customlabel";
}  
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何添加其他标签。使用 ng2-charts,如果我有一个包含两个数据集的条形图,并将鼠标悬停在一个条形上,则它仅显示该条形的标签和数据,但不显示第二个数据集的第二个条形的数据。我想同时显示两者,但不知道如何为此添加额外的标签和数据。

chart.js angular2-directives ng2-charts angular

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

当使用 container="body" 滚动主页时​​,ngx boostrap popover 不会随按钮移动

我正在根据本文档使用 ngx boostrap popover

我需要使用,container="body"因为没有这个,主体样式会影响我的弹出框并被剪掉。但是,在添加此属性后,我遇到了一个新问题。当我单击按钮时,弹出窗口会显示在按钮的后面,这很好。但是,当我滚动主页时​​,弹出框不会随与其关联的按钮一起移动,因此进入分离状态,然后看起来很奇怪。我该如何解决这个问题?

bootstrap-popover angular2-template ngx-bootstrap angular

6
推荐指数
0
解决办法
486
查看次数

在同一行中的typescript中创建和初始化字典

我想创建一个字典使用TypeScript并在同一行初始化它,而不是先创建,然后填充如下所示的值

var persons: { [id: string] : IPerson; } = {};
persons["p1"] = { firstName: "F1", lastname: "L1" };
Run Code Online (Sandbox Code Playgroud)

如何将上述内容合并为一个?

dictionary typescript

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

Golang模拟一个调用,其中一些参数的值不固定

我正在模拟一个方法调用,如下所示:

tctx.someMock.On("addProd",
        product.NewAddProductParamsWithContext(ctx).
            WithID("someid").
            WithCreateRequest(pro.CreateProdBody{
                creationDate: "someDate"  ,
            }), nil).
        Return(nil, nil)
Run Code Online (Sandbox Code Playgroud)

效果很好。

现在,在这里,creationDate如果我想概括它,使其适用于传递的任何值,而不是传递该字段的固定值,我该如何实现呢?我对 Go 还很陌生,所以不知道该怎么做

createDate 的值可以是任何值,例如 -2021-03-19T18:57:16.589Z2022-04-23T14:17:56.589Z等。我只是不想限制模拟调用以适用于creationDate 的固定值,但我希望它适用于传递的任何日期字符串

go go-testing

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

用于将数字格式化并打印为正数的 Angular HTML 代码(不带减号)

我有一个可以是正值或负值的数字。我想总是把它打印成负片。有没有办法在 Angular 2 html 代码中格式化它?我知道如何在打字稿/javascript 中做到这一点。但是,想知道我是否可以直接在 Angular HTML 代码中进行格式化

angular2-directives angular2-template angular

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

当鼠标进入或悬停时显示 ngx bootstrap 工具提示,并在单击鼠标从那里移除时移除

我不完全理解触发器究竟为https://valor-software.com/ngx-bootstrap/#/tooltip#triggers-custom做什么的概念

例如,当我们这样做时:

triggers="mouseenter:click"
Run Code Online (Sandbox Code Playgroud)

这是否意味着当我们将鼠标悬停/放置在那里时会显示工具提示并在单击时消失?

如果是这样,是否可以指定工具提示应该消失的两个事件。

例如,我想在将鼠标悬停在工具提示上时显示工具提示,然后在单击它或从那里移除鼠标时使其消失。有任何想法吗?

angular2-template ngx-bootstrap angular

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

Android listview如何将所选项目滚动到顶部

我想在Android中创建一个ListView.当我点击某个项目时,我希望它将其滚动到顶部.我怎样才能做到这一点?这是我正在尝试的Activity类,项目选择工作正常,但它不会滚动到顶部

public class MyListActivity extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
        "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
        "Linux", "OS/2" };
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String item = (String) getListAdapter().getItem(position);
        //l.setSelection(2);

        Toast.makeText(this, position + " selected", Toast.LENGTH_LONG).show();
        //l.smoothScrollToPosition(5);

    }
}
Run Code Online (Sandbox Code Playgroud)

android android-layout android-activity

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

打字稿从包含 url 的字符串中获取主机名、协议、端口

如果我有一个像http://localhost:8080这样的字符串 并且我想提取 url 的不同部分,比如协议 http、域名 (localhost) 和端口 (8080),那么最好的方法是什么打字稿?

我可以对字符串进行简单的解析以获得不同的值。但不确定这是否是最好/最干净的方法。我应该首先将此字符串转换为有效的 URL(使用某个库),然后从中获取主机名、协议和端口吗?Java 会有这样的库,可以让我很容易地做到这一点,但是我如何使用 typescript 实现相同的目标?

javascript url typescript

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

如果存在,如何附加到文件,否则创建一个新文件并写入文件

我有一个文件要添加一些内容。我首先检查该文件是否存在。如果可以,我向其中添加内容。如果没有,我只是用该名称创建一个新文件并将其写入。为此,我正在做类似的事情:

if _, err := os.Stat(filename); os.IsNotExist(err) {
    f, err := os.Create(filename)
    if err != nil {
        panic(err)
    }
        ....
} else {
    f, _ := os.OpenFile(filename, os.O_RDWR|os.O_APPEND, 0660);
    ....
}
Run Code Online (Sandbox Code Playgroud)

是否可以像1-2衬纸一样缩短此代码?

go

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

keep-alive 是否始终在使用 httpclient 的请求中发送以及如何防止发送它

我有一个 Java/Spring 项目,其中使用 Oauth2RestTemplate 并使其使用 HttpClient (org.apache.http.client.Httpclient) 而不是默认的 SimpleClient

HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory).build(); 

HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
oAuth2RestTemplate.setRequestFactory(requestFactory);
Run Code Online (Sandbox Code Playgroud)

对此,我想知道/理解是否始终为所有请求发送保持活动标头?

如果总是发送,有办法禁止发送吗?我看到一篇文章 -在 Apache HttpClient 中禁用 Keep Alive,其中讨论了禁用它,但它建议对 httpMethod 进行设置。我不确定如何在上面描述的代码设置中访问此 httpMethod。

java spring httpclient keep-alive

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

对具有构造函数和需要使用mockito模拟的自动装配字段的类的方法进行单元测试

我有一个服务类,它使用构造函数扩展另一个服务。这个类有一个自动装配的字段和一个我想使用 Mockito 进行单元测试的方法。但是,我在为其编写一个单元时遇到了困难。

假设该服务看起来有点像这样:

@Service
public class SomeService extends Service {

    @Autowired
    private SomeClient someClient;

    public SomeService(Product product, @Qualifier(Constants.SOME_BEAN) Details temp) {
        super(product, temp);
    }
    @Override
    public State create() {
        Request request = new Request();
        request.set...
        request.set..

        Status status = someClient.createTenant(request);
        ..
        .. // construct a State object and return
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我正在为这个类编写一个测试,并尝试对上面的 create() 方法进行单元测试。当我的测试调用此方法时,我在模拟 someClient 时遇到问题。

测试类看起来有点像:

@RunWith(MockitoJUnitRunner.class)
public class SomeServiceTest {
    private Detail temp;

    private SomeFacade service;

    private SomeClient someClient;

    private Product product;

    @Before
    public void setup() { …
Run Code Online (Sandbox Code Playgroud)

java spring unit-testing mockito springrunner

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