非 SPA,但想实现 MVVM 或者 MVC 等,有什么选择吗

2018-02-25 13:36:47 +08:00
 changrui0608

前端小白一个

想实现的是,比如后端下载下来的页面中有个表格<table>,但<tbody>中没有内容,由页面下载完毕后执行 AJAX 从 JSON API 服务器获取内容,再填进表格里。

似乎传统的方法是 jQuery 操作 DOM,但实话说操作 DOM 填表格有点糟心...

我试了下按照 Vue.js 入门教程那样,直接在后端渲染的 HTML 里裸写v-for等 vue 的东西,在<script>标签里写new Vue({...})这样,似乎能用。但网上怎么搜都是用 vue-cli 直接构建整个前端大 app 的例子,没见过像我这么干的,不知道有没有坑...

总之直接拿 Vue 做 MVVM 库是否合适,是不是杀鸡用牛刀了...?或者有没有其他的选择?

4729 次点击
所在节点    JavaScript
19 条回复
htfy96
2018-02-25 13:40:47 +08:00
把模板放到<template></template>标签里,<script>写 new Vue 应该是没问题的
AlwaysBehave
2018-02-25 13:59:58 +08:00
建议看一遍 Vuejs 首页那个视频
说的很清楚了是渐进式
changrui0608
2018-02-25 14:10:19 +08:00
@htfy96 多谢,查了下`<template>`感觉挺对的
lhx2008
2018-02-25 14:12:11 +08:00
有一个远古神器,jquery-template,微软写的,贼好用,不过可能要被 mvvm 党看不起了
oswuhan
2018-02-25 14:22:09 +08:00
根据你能接受的思维方式进行技术选型,比如至始至终被非前端所青睐的 template,或者前几年比较流行的双向绑定( mvvm ),以及近几年比较流行的单向数据流( flux )
oswuhan
2018-02-25 14:22:34 +08:00
@lhx2008 说出你的故事
changrui0608
2018-02-25 14:27:34 +08:00
@oswuhan template 和 mvvm 感觉都可以接受,有具体的框架 /库推荐吗
leopku
2018-02-25 15:48:36 +08:00
推荐一个 rivetsjs
whypool
2018-02-25 16:55:09 +08:00
artTemplate,腾讯出的模版,只解析拼接 html 很安逸
murmur
2018-02-25 17:01:44 +08:00
简单的 jquery+template 挺好使的
毕竟性能无敌
duan602728596
2018-02-25 17:33:48 +08:00
没有坑,我经常这么干
zhaodazzle
2018-02-25 19:39:55 +08:00
推荐一个 knockout.js
zjsxwc
2018-02-25 21:28:37 +08:00
没毛病,我给 ckeditor 写插件时就是这么引入 vue 与 requirejs 的
zhenizhui
2018-02-25 23:16:13 +08:00
@htfy96 你好,如果这种情况下,想模块化组织的话,有什么建议呢
VDimos
2018-02-25 23:24:11 +08:00
没有,其实是一样的。我第一次用 vue 就是直接 script 标签操作,本质上并没有什么差别。当时写 render 写得很烦,后来才知道可以用 vue cli
htfy96
2018-02-26 01:01:21 +08:00
@zhenizhui requirejs,把 template 放到字符串里和其他属性一起导出
nwljy
2018-02-26 02:08:54 +08:00
freemaker
oswuhan
2018-02-26 11:22:26 +08:00
@changrui0608

前端 template 我推荐 lodash.template,推荐这个主要是因为 lodash 的应用相当广泛;

MVVM/MVP/MV*框架我推荐 emberjs,该类型框架的集大成之作;

另外还有一些题外话。

你选择的前端技术背后的思想如果很简单,比如 template,意味着你把大量的思考工作放到了开发过程中,相反的,如果你选择 MV*或者 Flux 架构的框架,意味着你前置考虑了很多问题,实际开发的时候参照框架的模式进行开发即可完成大部分开发工作,换句话说,这两个类型的框架,是由复杂的前端开发思想、模式、流程……提炼而来。
des
2018-03-14 08:14:26 +08:00
如果没有想上这些框架的话可以试试 datatables

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/432457

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX