我正在编写一些打字稿代码并迭代一个数组.在循环内部,我试图访问'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],但在循环内部,它是未定义的.这是为什么?那是什么解决方案?
我正在使用Angular 2,并希望使用htm ngif coniditon检查变量值是否在角度中未定义
如果我使用<span*ngIf ="!testvar">
它还涵盖了变量testvar = 0时的情况,但我想排除它为0时的情况
以下作品,但这些是2个检查:
<span *ngIf="!testvar && testvarl != 0"></span>
Run Code Online (Sandbox Code Playgroud)
我想检查这个案例,只是为了缩短它并使其更清洁.有一个简单的方法吗?
我正在将 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,如果我有一个包含两个数据集的条形图,并将鼠标悬停在一个条形上,则它仅显示该条形的标签和数据,但不显示第二个数据集的第二个条形的数据。我想同时显示两者,但不知道如何为此添加额外的标签和数据。
我正在根据本文档使用 ngx boostrap popover
我需要使用,container="body"因为没有这个,主体样式会影响我的弹出框并被剪掉。但是,在添加此属性后,我遇到了一个新问题。当我单击按钮时,弹出窗口会显示在按钮的后面,这很好。但是,当我滚动主页时,弹出框不会随与其关联的按钮一起移动,因此进入分离状态,然后看起来很奇怪。我该如何解决这个问题?
我想创建一个字典使用TypeScript并在同一行初始化它,而不是先创建,然后填充如下所示的值
var persons: { [id: string] : IPerson; } = {};
persons["p1"] = { firstName: "F1", lastname: "L1" };
Run Code Online (Sandbox Code Playgroud)
如何将上述内容合并为一个?
我正在模拟一个方法调用,如下所示:
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.589Z或2022-04-23T14:17:56.589Z等。我只是不想限制模拟调用以适用于creationDate 的固定值,但我希望它适用于传递的任何日期字符串
我有一个可以是正值或负值的数字。我想总是把它打印成负片。有没有办法在 Angular 2 html 代码中格式化它?我知道如何在打字稿/javascript 中做到这一点。但是,想知道我是否可以直接在 Angular HTML 代码中进行格式化
我不完全理解触发器究竟为https://valor-software.com/ngx-bootstrap/#/tooltip#triggers-custom做什么的概念
例如,当我们这样做时:
triggers="mouseenter:click"
Run Code Online (Sandbox Code Playgroud)
这是否意味着当我们将鼠标悬停/放置在那里时会显示工具提示并在单击时消失?
如果是这样,是否可以指定工具提示应该消失的两个事件。
例如,我想在将鼠标悬停在工具提示上时显示工具提示,然后在单击它或从那里移除鼠标时使其消失。有任何想法吗?
我想在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) 如果我有一个像http://localhost:8080这样的字符串 并且我想提取 url 的不同部分,比如协议 http、域名 (localhost) 和端口 (8080),那么最好的方法是什么打字稿?
我可以对字符串进行简单的解析以获得不同的值。但不确定这是否是最好/最干净的方法。我应该首先将此字符串转换为有效的 URL(使用某个库),然后从中获取主机名、协议和端口吗?Java 会有这样的库,可以让我很容易地做到这一点,但是我如何使用 typescript 实现相同的目标?
我有一个文件要添加一些内容。我首先检查该文件是否存在。如果可以,我向其中添加内容。如果没有,我只是用该名称创建一个新文件并将其写入。为此,我正在做类似的事情:
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衬纸一样缩短此代码?
我有一个 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。
我有一个服务类,它使用构造函数扩展另一个服务。这个类有一个自动装配的字段和一个我想使用 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) angular ×5
typescript ×3
go ×2
java ×2
spring ×2
android ×1
chart.js ×1
dictionary ×1
go-testing ×1
httpclient ×1
javascript ×1
keep-alive ×1
mockito ×1
ng2-charts ×1
springrunner ×1
unit-testing ×1
url ×1