小编Jes*_*per的帖子

Angular - *ngIf 与模板中的简单函数调用

抱歉,如果这里已经回答了这个问题,但我找不到与我们的特定场景匹配的任何内容,所以在这里!

我们的开发团队已经讨论过关于 angular 模板中的函数调用。现在作为一般经验法则,我们同意您不应该这样做。但是,我们已经尝试讨论什么时候可能会好起来。让我给你一个场景。

假设我们有一个包含在 ngIf 中的模板块,它检查多个参数,如下所示:

<ng-template *ngIf="user && user.name && isAuthorized">
 ...
</ng-template>
Run Code Online (Sandbox Code Playgroud)

与以下内容相比,性能是否会有显着差异:

模板:

<ng-template *ngIf="userCheck()">
 ...
</ng-template>
Run Code Online (Sandbox Code Playgroud)

打字稿:

userCheck(): boolean {
  return this.user && this.user.name && this.isAuthorized;
}
Run Code Online (Sandbox Code Playgroud)

所以总结一下这个问题,最后一个选项会不会有任何显着的性能成本?

我们更愿意使用第二种方法,在需要检查超过 2 个条件的情况下,但网上很多文章都说模板中的函数调用总是不好,但在这种情况下真的有问题吗?

typescript angular

18
推荐指数
3
解决办法
5403
查看次数

如何在javascript中获取HTML元素的值?

所以我在获取代码中特定字段的值时遇到问题 - 我做了这个非常简单的示例来展示我的问题,这里是 JSFiddle:https: //jsfiddle.net/c3jtg60v/

HTML:

<p id="theInput">
   desired-value
</p>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

var value = document.getElementById("theInput").value;
console.log(value);
Run Code Online (Sandbox Code Playgroud)

按原样,我分配了一个id 为“theInput”的p元素,其中我有所需的值,我想在我的 javascript 中使用它。

目前,我想做的就是 console.log 值,但是当我这样做时,我在控制台中记录的所有内容都是“未定义”。我真正想要记录到控制台的是“所需值”,

html javascript

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

Java : 使用 Javamail 阅读电子邮件

我一直在开发一个程序,假设使用 javamail 来阅读收件箱,如果电子邮件包含特定的字符串,则应该打开它。

首先,这是我第一次尝试使用这个 javamail api - 我很确定我的属性都搞砸了 - 任何人都可以给我正确设置 javamail 属性的提示吗?

其次,我似乎可以通过 API 进行连接,但是如果我尝试搜索主题并且主题为空,则会出现空指针异常 - 但是如果我不尝试将主题与“Ordretest”匹配,我没有空指针 - 任何提示都会有很大帮助:)

package vildereMail;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.InternetAddress;
import javax.mail.search.FromTerm;
import javax.mail.search.SearchTerm;
import javax.mail.search.SubjectTerm;

public class vildereMail {


    public boolean match(Message message) {
        try {
            if (message.getSubject().contains("Ordretest")) {
                System.out.println("match found");
                return true;
            }
        } catch (MessagingException ex) {
            ex.printStackTrace();
        }
        return false;
    };
        public static void main(String[] …
Run Code Online (Sandbox Code Playgroud)

java jakarta-mail

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

CSS - Overflow-x:滚动切断 div 的开头

这可能是一个简单的修复,但我在任何地方都找不到它 - 也许我使用了错误的术语,所以如果我重复了一个已经被问过的问题,我深表歉意。

我创建了这个 stackblitz 演示:https ://stackblitz.com/edit/angular-ftv8ez

我遇到了这个问题,我有一个固定宽度 (300px) 的容器 div。

在其中,我有一些框 div,也有固定宽度 (300px)。

容器 div 有 overflow-x: scroll,所以这个想法是你可以在 div 溢出时滚动它。

但是,结果并未按预期执行。容器 div 的开头被缩短,这导致无法将第一个框滚动到视图中。

非常欢迎任何提示或帮助!

html css sass less

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

Angular 基于组件变量使用 *ngTemplateOutlet 动态显示模板

首先我要说的是,我确实查看了有关 ngTemplateOutlet 的其他几个问题(例如:Angular 2 动态更改 ngTemplateOutlet 中的模板具有动态值的 ngTemplateOutlet),但它们并没有真正涵盖我想要做的事情,或者也许我不明白如何将逻辑应用于我想要实现的目标。

我的目标:

我有一个页面,我希望能够在其中更改模板的显示顺序。

我有两个简单的模板,“颜色”和“字体”:

<ng-template #colors>
  Red: #FF0000
  Green: #00FF00
  Blue: #0000FF
</ng-template>

<ng-template #fonts>
  Helvetica
  Verdana
  Times New Roman
</ng-template>
Run Code Online (Sandbox Code Playgroud)

我可以按照预定义的顺序显示这些内容:

<div>
  <ng-container *ngTemplateOutlet="colors"></ng-container>
</div>
<div>
  <ng-container *ngTemplateOutlet="fonts"></ng-container>
</div>
Run Code Online (Sandbox Code Playgroud)

我的问题是,我不知道如何根据组件上的变量显示这些模板。我的组件包含一个数组变量,其中包含我要显示的模板的顺序和名称:

public order: ['fonts', 'colors'];
Run Code Online (Sandbox Code Playgroud)

请注意,此处模板的顺序已切换,因此应首先显示“字体”,然后显示“颜色”。

我的想法是根据 order 变量分配 *ngTemplateOutlet 值,如下所示:

<ng-container [ngTemplateOutlet]="order[0]"></ng-container>
<ng-container [ngTemplateOutlet]="order[1]"></ng-container>
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到以下控制台错误:

TypeError: templateRef.createEmbeddedView is not a function
Run Code Online (Sandbox Code Playgroud)

我不太确定我在哪里出了问题,或者如何让 *ngTemplateOutlet 从组件上的数组变量中获取它的模板名称。

我为它创建了这个 stackblitz:https ://stackblitz.com/edit/angular-q7uqbx

任何帮助将非常感激!

亲切的问候,

杰斯珀

angular

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

标签 统计

angular ×2

html ×2

css ×1

jakarta-mail ×1

java ×1

javascript ×1

less ×1

sass ×1

typescript ×1