微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 Go html 模板的动态字段

如何解决带有 Go html 模板的动态字段

我可以在 go 中使用动态属性制作 html 模板吗?

像这样当前导致错误

无效模板:模板:sticker.CellRepresentation:1:23:在<.sticker_set.url>处执行“sticker.CellRepresentation”:无法在类型接口{}

中评估字段url
$prd = Product::where($args)->whereBetween('price',[(int)($request->min_price),(int)($request->max_price)])->get();

我没有使用结构体,因为我尝试执行的模板使用的是未在编译时定义的结构体的 json

解决方法

你的例子对我和在操场上都很好。我稍微调整了模板并使用 os.stdout 作为作者。

func sample() error {
    tpl,err := template.New("sample").Parse(`<a href="{{.sticker_set.url}}">{{.sticker_set.url}}</a>`)
    if err != nil {
        return err
    }

    data := map[string]interface{}{
        "sticker_set": map[string]interface{}{
            "url": "xyz",},}

    if err := tpl.Execute(os.Stdout,data); err != nil {
        return fmt.Errorf("Invalid template: %w",err)
    }

    return nil
}

甚至尝试使用不同的值类型:Playground

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。