代码之家  ›  专栏  ›  技术社区  ›  Matthew Flynn

事件上的amp绑定格式值输出

  •  1
  • Matthew Flynn  · 技术社区  · 7 年前

    我试图格式化一个数值的输出,使其在计算机上更可读 amp-bind 然而,我不知道如何在服务器上实现正则表达式 event.output 价值

    目前,我有以下几点:;

                    <label class="form-title">
                        <span>How much do you need?</span>
                        <span [text]="[amount]">
                            £1500000
                        </span>
                    </label>
                    <input type="range"
                           name="amountSlider"
                           min="10000"
                           step="10000"
                           value="1500000"
                           max="3000000"
                           on="change: AMP.setState({ amount: '£' + event.value.replace('/\B(?=(\d{3})+(?!\d))/g', ',')})">
    

    然而,这会导致错误;

    %s %s amp-bind: Expression eval failed. [object String].replace is not a supported function.​​​
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   user2468968    7 年前

    “替换”功能不是白名单上的功能: https://www.ampproject.org/docs/reference/components/amp-bind#white-listed-functions

    出于你的目的,也许可以这样做:

    "12345678.1".拆分(/\B(?=(?:\d{3})+(?!\d))/)。加入(“,”)

    "12,345,678.1"

    因为“拆分”是白名单。警告:我没有在AMP页面上测试它!