最近看不少书中都提到前端要三层分离,将Js和css写在文件中进行引用,但在写项目中发现如果这样的话一些后端语言对前端的控制就不好做了。
以c#为例,在后端向前端传值过程中,可能会用到viewbag进行判断某一块是否显示,是否添加某样式,在前端中会把对应的东西写在html结构中,但这样的话样式就会直接写在html结构里了。
如果说前端要做到三层分离,那么是否前端和后端通信也会尽量以接口的形式进行操作呢?还是存在其他的解决办法?
最近看不少书中都提到前端要三层分离,将Js和css写在文件中进行引用,但在写项目中发现如果这样的话一些后端语言对前端的控制就不好做了。
以c#为例,在后端向前端传值过程中,可能会用到viewbag进行判断某一块是否显示,是否添加某样式,在前端中会把对应的东西写在html结构中,但这样的话样式就会直接写在html结构里了。
如果说前端要做到三层分离,那么是否前端和后端通信也会尽量以接口的形式进行操作呢?还是存在其他的解决办法?
MVC?View里可以放一些显示相关逻辑脚本,比如
<div class="abc<?=$showSomething ? '' : ' hidden'?>">
html code
</div>
hidden是一个css class,定义是{display:none}
如果是小项目,你说的那些viewbag以及后端需要传过来的样式可以通过一个接口传给前端的js,这个用ajax实现,至于动态修改样式,jquery可以做到。
如果是大项目,你这种需求用vue.js等框架会让项目结构更加清晰,低耦合。
如果是前后端分离的话,后台只需要负责逻辑和数据,如果没有分离,则可以前台提供一些class如:pl-20{padding-left:20px;}供后台自己调。一般来说还是前端完全负责样式的
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
后端就应该专注于后台数据和逻辑的处理,不要总想着插手控制页面。
前后台开发约定好获取与提交数据的结构,由前端来负责页面样式、用户交互、前台逻辑、数据提交和返回处理。