V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
changrui0608
V2EX  ›  JavaScript

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

  •  2
     
  •   changrui0608 · 2018-02-25 13:36:47 +08:00 · 4687 次点击
    这是一个创建于 2223 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前端小白一个

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

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

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

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

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

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

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

    另外还有一些题外话。

    你选择的前端技术背后的思想如果很简单,比如 template,意味着你把大量的思考工作放到了开发过程中,相反的,如果你选择 MV*或者 Flux 架构的框架,意味着你前置考虑了很多问题,实际开发的时候参照框架的模式进行开发即可完成大部分开发工作,换句话说,这两个类型的框架,是由复杂的前端开发思想、模式、流程……提炼而来。
    des
        19
    des  
       2018-03-14 08:14:26 +08:00 via Android
    如果没有想上这些框架的话可以试试 datatables
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3494 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 11:02 · PVG 19:02 · LAX 04:02 · JFK 07:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.