前端三层分离之后,后端如何对前端的样式进行操控?

最近看不少书中都提到前端要三层分离,将Js和css写在文件中进行引用,但在写项目中发现如果这样的话一些后端语言对前端的控制就不好做了。
以c#为例,在后端向前端传值过程中,可能会用到viewbag进行判断某一块是否显示,是否添加某样式,在前端中会把对应的东西写在html结构中,但这样的话样式就会直接写在html结构里了。
如果说前端要做到三层分离,那么是否前端和后端通信也会尽量以接口的形式进行操作呢?还是存在其他的解决办法?
阅读 6.5k
6 个回答

后端就应该专注于后台数据和逻辑的处理,不要总想着插手控制页面。
前后台开发约定好获取与提交数据的结构,由前端来负责页面样式、用户交互、前台逻辑、数据提交和返回处理。

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;}供后台自己调。一般来说还是前端完全负责样式的

如果是<asp:XXX id="aa"></>可以获取标签id名,对这个标签的属性的相应的样式进行aa.Attributes["class"]=“XXXXX”修改

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