MVC view层的html渲染有哪些方式?

目前使用过两种模板渲染方式
一是利用框架或者模板引擎进行渲染,其实这种方式就是在view层内使用了后端代码,个人感觉还是不符合静态分离原则。
二是我个人比较喜欢用的异步请求数据,然后js渲染模板,个人感觉这是讲view层纯静态化。我一般是先讲html写一个模板然后通过ajax获取属于然后使用str.replace替换,再innerHTML至对应的DOM中。但我会觉得这样写比较乱

<div class="_theme" hidden>
    <div class="_input">
        <div class="form-group">
            <div class="input-line">
                <label for="[id]">[required][title]</label>
                <div class="input-module">
                    <input type="text" class="form-control" id="[id]" placeholder="[placeholder]" value="[value]" maxlength="[maxlength]" minlength="[minlength]">
                </div>
            </div>
            <div class="description">[description]</div>
        </div>
    </div>
</div>

.....

$.ajax({
        url : url,
        success(response)
        {
            let data = response['msg'];
            if(data.length < 1) return null;

            for(let i in data)
            {
                let row = data[i];
                let theme = $('._theme ._'+row['lx']).html();
                let html = '';

                html = theme.replace(/\[required\]/,required)
                    .replace(/\[title\]/,row['bm'])
                    .replace(/\[id\]/,row['mc'])
                    .replace(/\[placeholder\]/,row['msh'])
                    .replace(/\[value\]/,row['val'])
                $('.setting-block').append(theme);
            }
        }
    });

不知道还有没有其他方式的view渲染方式?

阅读 1.8k
2 个回答

喜欢用ajax获取数据用浏览器端来渲染,这个是这几年都有提的前后端分离,主要的体现有 vue,react,angular等都是前后端分离的,不过有个问题这个方式还要配置服务器渲染,不然对SEO不是很友好。
就和app开发差不多,界面写好,通过api获取数据,再渲染界面,单页应用,现在有很多混合app就是静态界面打包成app,再通过ajax获取,本地渲染。
比较推荐使用vue
轻量级,可以单独作为前端渲染插件使用。如果要整体开发单页应用可以搜搜vue全家桶。

新手上路,请多包涵

看不懂,所以不知道呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题