Drv.js

前端 MVVM 开发框架
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 JavaScript MVC 框架
软件类型 开源软件
地区 国产
投 递 者 卢出野
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Drv.js

组合式前端 MVVM / MVC / SPA 开发框架,基于 Director.js + Require.js + Vue.js 等组件构建。

安装

bower install drv.js --save

框架与依赖

bower.json 的其他依赖项 vue-touch, vue-validator, jquery, requirejs-text, underscore, require-css, tiletemplate 默认不加载,用户需要使用时自行引入依赖才加载 .如果你不需要这些组件,你可以编辑 bower.json 后更新或者执行卸载命令 bower uninstall vue-touch vue-validator jquery requirejs-text underscore require-css tiletemplate.

兼容性

  • Firefox 4.0+

  • Chrome 7+

  • IE 9+

  • Opera 11.60+

  • Safari 5.1.4+

Drv.js 基于 ES5 (ECMAScript 5) 开发。ECMAScript 5 兼容性数据表 : http://kangax.github.io/compat-table/es5/.

应用目录结构

you-app/
    bower_components/
    controllers/
    configs/
    images/
    views/
    css/
    lib/ 
    ... 
    bower.json
    index.html
    main.js

使用方法

index.html :

<script src="./bower_components/requirejs/require.js"></script>
<script drv-main="./main" src="./bower_components/drv.js/dist/drv.min.js"></script>

入口文件 main.js :

define(["./configs/routes"], function(routes) {
    var app = Drv.App(); // or Drv.App({your-configs ...});
    app.run(routes);
});

配置项参考 console.log(Drv.defaults); 或者 console.log(app.settings);

路由配置文件 routes.js :

define({
    "/" : function() {},     // Director.js 原有的方式
    "/books" : "book/index", // 使用控制器自动加载 you-app/controllers/book/index.js
    "/books/:id" : "book/view",
    "/author" : "author",
    "/about" : "about"
});

路由 (Director.js) API 文档 https://github.com/flatiron/director#api-documentation

控制器文件 book/view.js:

// 你可以使用 Require.js css / text 插件来加载
define(["your-deps"], function() {
    var app    = Drv.getApp();   // 获取 App 单例对象    
    var router = app.router;     // router.getRoute(), router.getPath()     
    var params = router.$params; // Vue ViewModel 选项参数

    var vmOptions = {
        el   : "#layout",
        data : {
            id : params[0],
            name : "Drv.js" },
        ready : function() {
            console.log("Vue.$http", this.$http);
        },
        methods : {
            clickDiv : function(e) {
                console.log(e.target);
            }
        }
    };     
    // 渲染视图文件 you-app/views/index.html     
    app.render("index", vmOptions);
});

视图模型(Vue.js) 使用指南:http://cn.vuejs.org/guide/

视图文件 views/index.html:

<h1>View index.html {{name}} id={{id}}</h1>
<input v-model="name" />
<div style="width:100px;height:100px;background:green;color:#fff;" v-on="click:clickDiv">Drv.js</div>

视图模型指令参考资料: http://vuejs.org/api/directives.html

参考文档

  •   操作驱动器(Drives)  使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。  (一)Drives对象属性  Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性:  l TotalSize:以字节(byte)为单位计

  •  除了通过driver操控html元素,js也在它的控制范围内,可以通过executeScript执行js语句,得到想要的动态行为。 public class Js { public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.gecko.drive

  • jsdelivr 使用 从npm和GitHub轻松下载JavaScript库 (Easily download JavaScript libraries from npm and GitHub) The most newbie-friendly way to add a library to a project is to: 向项目添加库的最适合新手的方式是: Search for the lib

  • engine.js对于DWR非常重要,engine.js和util.js相当于DWR的两个静态函数库,使用DWR时engine.js必须导入,util.js可以简化DOM操作选择导入,Ajax通常是异步调用,因此发送请求的顺序与返回的顺序并不一定一致,要想使其一致可以: dwr.engine.setOrdered(true);  这样的话,在旧的请求返回之前,DWR不会发送新的请求,所以会导致性能

  • DPlayer 中文文档 http://dplayer.js.org/zh/guide.html#special-thanks videojs 这个只有英文文档 https://docs.videojs.com/index.html https://docs.videojs.com/docs/api/video.html   video 标签在微信浏览器的问题解决方法 关于HTML5 video标

  •  7.12.1 批量调用 可以通过使用batch来批量执行远程调用。这样可以减少与服务器的交互次数,可以提高程序的响应速度。一个batch调用以dwr.engine.beginBatch()开始,并以 dwr.engine.endBatch()结束。当调用dwr.engine.endBatch()后,就结束了本次批量远程调用,这样DWR与服务器的一次交互中执行它们。 作者提示:如果把一些远程调用放

  • 1、addRows 增添数据行到指定的table    方法基本语法:dwr.util.addRows(id, array, cellfuncs, [options]);       * id:table 的 id (最好是一个tbody的id)     * array: 需要被填充到table里的数据对象,可以是数组,集合等对象,每一个数组元素对应table的一行     * cellfuncs

  • 使用DWR,可以非常方便的将一个JS对象转变成一个JAVA对象,提供数据给后台进行处理。   下面是的官方网站例子: Creating Javascript objects to match Java objects Suppose you have an exposed Java method like this: public class Remote { public void set

  • https://videojs.com/getting-started/#skinning   实例 <!DOCTYPE html> <html> <head> <link href="https://vjs.zencdn.net/7.5.4/video-js.css" rel="stylesheet"> <!-- If you'd like to support IE8 (for V

 相关资料
  • Model-View-ViewModel (MVVM)是用于开发软件应用程序的架构设计模式。 MVVM由Microsoft Architect John Gossman于2005年开发。该模式源自模型 - 视图 - 控制器(MVC)模式。 MVVM的优势在于它将应用程序层的图形用户界面与业务逻辑分开。 MVVM负责处理来自底层模型的数据,以便非常容易地表示和管理它。 MVVM中的ViewModel

  • 必须 使用 Laravel 官方前端工具做前端开发自动化; 必须 保证页面只加载一个 .css 文件; 必须 保证页面只加载一个 .js 文件; 必须 为 .css 和 .js 增加 版本控制; 必须 使用 SASS 来书写 CSS 代码;

  • 本文向大家介绍Bootstrap每天必学之前端开发框架,包括了Bootstrap每天必学之前端开发框架的使用技巧和注意事项,需要的朋友参考一下 BootStrap学习从现在开始,前端开发框架Bootstrap,可大大简化网站开发过程,从而深受广大开发者的喜欢。本文总结了Bootstrap之所以广泛流传的11大原因。如果你还没有使用Twitter Bootstrap,建议你去了解一下。小编也是最近才

  • Mooa 是一个为 Angular 服务的微前端框架,它是一个基于 single-spa,针对 IE 10 及 IFRAME 优化的微前端解决方案。 Mooa 概念 Mooa 框架与 Single-SPA 不一样的是,Mooa 采用的是 Master-Slave 架构,即主-从式设计。 对于 Web 页面来说,它可以同时存在两个到多个的 Angular 应用:其中的一个 Angular 应用作为主

  • 本文向大家介绍对Web开发中前端框架与前端类库的一些思考,包括了对Web开发中前端框架与前端类库的一些思考的使用技巧和注意事项,需要的朋友参考一下 说起前端框架,我也是醉了。现在去面试或者和同行聊天,动不动就这个框架碉堡了,那个框架好犀利。   当然不是贬低框架,只是有一种杀鸡焉用牛刀的感觉。网站技术是为业务而存在的,除此毫无意义,框架也是一样。在技术选型和架构设计当中,脱离网站业务发展的实际,一

  • 秋招这么久了,面了十几家公司。浅浅写几家面经攒攒人品。 拓维信息面经 1. 自我介绍。 2. vue2和vue3实现数据双向绑定原理的区别? 3. vuex怎么配置? 4. 坐过菜单栏吗?怎么实现的? 5. 路由跳转的方式? 6. 状态码你了解哪些? 7. es6新增的特性你知道哪些? 8. 箭头函数和普通函数的区别? 9. 组件间通信有哪些方法? 10. 给你一个紧急的项目你怎么接手? 11.