小编Joh*_*abb的帖子

数组拼接不会触发 ngOnChange

当我向数组添加项目时,ngOnChange 被触发:

\n\n
this.entries = [{"name": "John"},{"name": "Alex"},{"name": "Joe"}]\n
Run Code Online (Sandbox Code Playgroud)\n\n

但当我删除这样的项目时不会被触发:

\n\n
this.entries.splice(this.entries.findIndex(x => x.name === "Joe"), 1);\n
Run Code Online (Sandbox Code Playgroud)\n\n

该项目确实被删除,因为数组大小发生了更改。

\n\n
Component code:\n@Component({\n  selector: \xe2\x80\x98app-component\xe2\x80\x99,\n  \xe2\x80\xa6\n})\n\nexport class InputComponent {\n  @Input() entries:any=[];\n\n  ngOnChanges() {\n    console.log(this.entries);\n  }\n}\n\nHTML:\n<app-component [entries] = "entries"></app-component>\n\nUpdate function:\nremoveEntry(key:string) {\n    this.entries.splice(this.entries.findIndex(x => x.name === key), 1);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我如何解决它?

\n

javascript angular

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

getByText 找不到该元素

我想看看是否至少呈现了部分文本。

<li>
   Click here &nbsp;
   <a
     id="myLink"
     className="xxxxx"
     target="_blank"
     rel="noreferrer"
     href="https://www.aaa.com"
   >
      to open xxx.
   </a>
</li>
Run Code Online (Sandbox Code Playgroud)

测试失败并显示:

xxxxxx.getByText('Click here')
Run Code Online (Sandbox Code Playgroud)

但如果“单击此处”只是该文本,则效果很好

  • 有没有一种方法可以进行部分搜索?

  • unit-testing reactjs jestjs react-testing-library

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

    Div内容的onClick事件

    这是我简单的xPage:

    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core">
        <xp:div
            style="border-color:rgb(255,0,0);border-style:solid;border-width:thin"
            id="div1" styleClass="divStyleClass1">
            <xp:label value="Label" id="label1" styleClass="labelStyleClass">
            </xp:label>
            <xp:eventHandler event="onclick" submit="false">
                <xp:this.script><![CDATA[alert(thisEvent.target.className);
    if(thisEvent.target.className=="divStyleClass1"){
        thisEvent.target.className="divStyleClass2";
    } else {
        thisEvent.target.className="divStyleClass1";
    }]]></xp:this.script>
            </xp:eventHandler>
        </xp:div>
    </xp:view>
    
    Run Code Online (Sandbox Code Playgroud)

    我想通过onClick事件更改DIV styleClass.它工作正常,直到我点击DIV内的任何元素,例如在标签上.显然thisEvent.target指向标签对象,它失败了.

    那么如何修复它,以便它改变DIV styleClass,无论你在哪里和什么内部点击?

    javascript css xpages

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

    如何让xPage JavaScript以Lotus Notes格式返回@Unique()?

    这是SSJS行:

    var tmpID = @Unique();
    
    Run Code Online (Sandbox Code Playgroud)

    但它以下列格式返回唯一字符串:

    1sghsekw3hwgh
    hswhstky3hts0
    
    Run Code Online (Sandbox Code Playgroud)

    而且长度不一致.它可以是11或12或13个字符.我希望它是Lotus Notes格式,如(用户首字母和一些随机数):

    ATFY-1RE5YU
    DGGH-9VE5KX
    
    Run Code Online (Sandbox Code Playgroud)

    或者您是否知道以任何其他方式生成具有固定长度的唯一字符串值?

    lotus-notes xpages

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

    如何将计数器添加到头盔范围

    这是我的 value.yaml 文件:

    options:
      collection: "myCollection"
      ttl: 100800
      autoReconnect: true
      reconnectTries: 3
      reconnectInterval: 5
    
    Run Code Online (Sandbox Code Playgroud)

    现在我尝试在 configMap 中将其转换为 JSON,如下所示:

    options: {
      {{- range $key, $val := .Values.options }}
      {{ $key }}: {{ $val | quote }},
      {{- end }}
    }
    
    Run Code Online (Sandbox Code Playgroud)

    但我需要消除 JSON 中的最后一个逗号,所以我尝试添加一个计数器:

    options: {
      {{ $c := 0 | int }}
      {{- range $key, $val := .Values.options }}
      {{ if ne $c 0 }},{{ end }}
      {{- $key }}: {{ $val | quote }}
      {{ $c := $c add 1 …
    Run Code Online (Sandbox Code Playgroud)

    go-templates kubernetes kubernetes-helm

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