代码之家  ›  专栏  ›  技术社区  ›  Maurice

angulars HttpParams对象的set和append方法有什么区别?

  •  2
  • Maurice  · 技术社区  · 8 年前

    方法描述 append

    用给定的附加值构造新正文 参数名。

    set 是

    用一个 新的 给定参数名的值。

    但是 追加

    谢谢您

    3 回复  |  直到 8 年前
        1
  •  10
  •   Roberto Zvjerković sabithpocker    8 年前

    HttpParams值是值数组。

    当你 set 值,它将覆盖数组中的所有值。

    append 值,它将在现有数组上推送新值。

        let paramsSet = new HttpParams();
        paramsSet = paramsSet.set('paramName', 'set');
    
        let paramsAppend = new HttpParams();
        paramsAppend = paramsAppend.set('paramName', 'append');
    
        paramsSet = paramsSet.set('paramName', 'set2');
        paramsAppend = paramsAppend.append('paramName', 'append2');
    
        console.log(paramsSet.getAll('paramName'));
        console.log(paramsAppend.getAll('paramName')); 
    

    paramsSet 只会有 ['set2'] paramsAppend 会有 ["append", "append2"] .

        2
  •  6
  •   Jscti    8 年前

    Set 设置唯一的 value key :

    params.set('toto', '1').set('toto', '2') // toto=2
    

    Append 附加另一个 对于给定的 钥匙 :

    params.set('toto', '1').append('toto', '2') // toto=1&toto=2
    
        3
  •  0
  •   David Dornier    7 年前

    如果所有参数都是唯一的,那么您是正确的,行为将是相同的;但是,如果您尝试重用一个参数,那么行为将是不同的。

    Set将添加或重写该参数的现有值。 即使参数已经存在,Append也将始终为该参数添加一个新值。

    推荐文章