layui如何通过view(this.id).render来传递参数

背景

说下我以前是怎么做的,首先是会先渲染页面,然后每次都是通过id属性去获取value值,那就会出现一个情况,如果是需要在渲染之前做数据处理那这种方法就无法达到我想要的结果

view(this.id).render(跳转的页面, data).done(function () {
            admin.postReq({
                    url: /modules/dh-commission-account/detail,
                    data: {"id": data.userId},
                    dfunc: function (res) {
                          let data = res.data;
                          form.val(checkForm, data);
                    }
        });
 })

一般这个data会在新的页面渲染,但是跳转的页面无法在新页面用js直接去拿参数

举个例子

这个是我跳转的新页面

如何这个时候弹出会是什么呢?

啥都没有,那如何解决呢

<script type="text/html" template lay-done="layui.data.sendParams(d.params)">

</script>
<script>
    layui.use([admin, form, laydate, element], function () {
        var $ = layui.$
            , admin = layui.admin
            , laydate = layui.laydate
            , element = layui.element
            , form = layui.form;
        layui.data.sendParams = function (params) {
            let doctorId = params.userId
            alert(doctorId)
        };
    })
</script>

这样做就行,这个里面的params就是上面的data数据,这样就可以直接在页面渲染之前就能拿到你需要的数据,然后在

layui.data.sendParams = function (params) {

}

这个方法里面去做你的数据处理

经验分享 程序员 微信小程序 职场和发展