Javascript MVC —— View

二十五、HTML5单页框架View.js介绍 - 视图布局 作为用户视觉的页面载体,每个视图都可能拥有自己独特的布局。 下图是移动端常见的布局结构: 其中,顶部标题栏和底部导航栏,以及可能存在的标签页栏,通常情况下是需要固定位置显示的。开发者一般采用绝对定位的方式将其固定。但在页面涉及用户输入的场景下,为避免弹出的虚拟键盘将底部导航 “顶上去” 的情况等,View.js 建议开发者使用脚本动态布局来实现位置固定的目的,亦即: [可滚动正文] 的高度 =... 阅读详情

 

原文:http://javascriptmvc.com/docs.html#&who=jQuery.View

翻译:刘贵学(liuguixue@gmail.com)

 

 

 

借助jQuery,View使用模板提供了统一的接口,使用注册的模板引擎,您可以:

  • View中使用jQuery扩展,after,append, before, html, prepend, replace,replaceWith, text.;
  • 模板,加载html元素以及外部文件;
  • 同步与异步的模板加载;
  • 模板缓存;
  • 在产品编译时,编译并处理模板;
  • 在模板中直接调用jQuery插件

使用

当使用view时,您会常需要将模板填充的结果加到网页中,jQuery.View重写了jQuery的修饰符,因此使用view可以非常简单,如下:

$("#foo").html('mytemplate.ejs',{message: 'hello world'})

以上代码:

  •  加载模板 'mytemplate.ejs',模板内容如下:

 

 

 

  • 使用{message: 'hello world'}填充模板,结果如下:

 

 

 

  •  将结果赋给foo元素,foo元素如下:

 

 

 

jQuery 修饰符

您可以在模板中使用以下jQuery修饰符:

after

$('#bar').after('temp.jaml',{});

append

$('#bar').append('temp.jaml',{});

before

$('#bar').before('temp.jaml',{});

html

$('#bar').html('temp.jaml',{});

prepend

$('#bar').prepend('temp.jaml',{});

replace

$('#bar').replace('temp.jaml',{});

replaceWith

$('#bar').replaceWidth('temp.jaml',{});

text

$('#bar').text('temp.jaml',{});

这些jQuery的修饰符一般需要您传递一个字符串和一个对象给模板。

模板的位置

View可以从脚本标记或文件中加载模板.

 

从脚本中加载

可使用如下方式创建模板的脚本标记:

 

填充此模板如下:

 

注意:我们将需要填充的元素id传入。

 

从文件加载

 

您可以传递模板的路径,如下:

 

但是,我们经常需要模板的相对路径(统一相对于根路径而言),可使用// 来得到JMVC的根路径:

 

最后,[jQuery.Controller.prototype.view controller/view]插件可使路径的查找更简单:

 

模板打包

如有您使用比较多的模板,您想以文件的形式将它们组织好,以便在页面或应用间复用。

但是,这种方式的代价也是比较大的,如果浏览器检单独索每个模板,这些额外的http请求会使您的应用变慢。

幸运的是,steal.views 可将模板编译到您的产品文件,您只需按如下方式指出view文件即可:

steal.views('path/to/the/view.ejs');

异步

默认情况下,请求是以同步(需要等待)的方式完成的。也没关系,因为StealJS会将view模板打包到您的JS一起下载。

然而,有人并没使用StealJS,或只是想等需要的时候再加载模板,如果您有这些需求,您可以提供一个回调函数作为参数,如下:

 

回调函数会与填充的模板结果一起调用,并通过'this'传给原有的jQuery对象。

模板填充

有时,您只需要获取填充过的模板,并不赋给其他元素,您可以使用$.View:

 

模板预加载

您可以异步预加载模板,如下:

 

已支持的模板引擎

JavaScriptMVC 可以支持以下模板语言:

  •  EmbeddedJS

 

 

  •  JAML

 

  • Micro

 

  • jQuery.Tmpl

 


比较流行的Mustache 引擎会在第二阶段加入。

使用其他的模板引擎

基础您喜欢的模板到$.View与steal是非常简单的,详情请阅读jQuery.View.register.

 

构造函数

模板的查找,处理,缓存,使用数据填充以及其他辅助函数,使用StealJS,可以在编译产品时将模板与view合起来,同步的方式,使用view是没有问题的,如下:

 

 

 

如果您没有StealJS的话,最好用异步的方式使用view,如下:

 

 

 

  •  view {String}

模板源文件的url或id

  •  data {Object}

传给view的数据.

  •  helpers {optional:Object}

辅助函数(可选),view中可能会用到,并非所有的模板都支持。

  • callback {optional:Object}

回调函数(可选),如果有,此模板以异步方式加载,如果你没有将模板压缩到你的view中,推荐使用。

  •  returns {String}

View的填充结果。

 

 

mvc如何使用JavaScript在view和controller之间传递数据 在一般的BS项目开发中,我们经常需要在前台和后台之间传递数据,mvc架构中,也需要在view和controller之间传递数据,那么我们应该如何实现呢? 阅读详情

相关推荐

jsView 2.0.5修改版 支持FireFox3.6

都知道 不用介绍鸟 ---------------------- All browsers include a "View Source" option, but none of them offer the ability to view the source code of external files. Most websites store their javascripts and style sheets in external files and then link to them within a web page's...

JSView MVVM数据绑定库学习

MVVM js 库JsRender/JsViews和knockoutjs介绍 http://www.oschina.net/p/jsrender

dazer的专栏 2405

JSView-crx插件

语言:English JSView for Chrome。 查看JS和CSS文件。 此扩展在上下文菜单中显示包含的JS和CSS文件。 通过单击文件,它会在新选项卡中打开。 受到Mozilla Firefox强大的JSView扩展的启发。 可以在以下位置找到源代码:https://github.com/nekman/jsview

五、HTML5单页框架View.js介绍 - View.js的比较优势

不需要 Npm 的单页应用框架: View.js - http://view-js.com “比较优势”,是经济学的术语,是指生产者可以使用更低的机会成本生产产品或提供服务的的优势。 和其它框架相比,View.js为单页应用开发提供了的以下几个关键特性彰显了它的比较优势: 无需配置和开发,视图导航开箱可用 允许在视图切换时传递任意类型的参数 允许自定义视图切换动画 允许自定义视图配置...

baozhang007的专栏 8160

机器学习入门基础 | 基于python的高光谱图像特征挖掘:PCA + 形态学属性处理可视化实战

本文介绍了一种基于PCA和形态学操作的高光谱图像特征提取方法。通过主成分分析降低数据维度,再运用面积开闭操作增强空间结构特征,有效去除噪声并填补孔洞。实验采用WHU-HI-HanChuan数据集,提供完整的Python实现代码,包括数据加载、PCA降维、形态学处理及结果可视化等步骤。该方法能够显著改善图像质量,为后续分类和变化检测任务提供更好的特征输入。实验结果表明,不同阈值的形态学处理能呈现不同程度的空间结构增强效果,对区域生长、分割和聚类等应用具有重要价值。

lestatlu的博客 1046

SRAM compiler中Power Gating与Retention的实战配置指南

本文深入解析了在SRAM compiler中配置Power Gating(电源门控)与Retention(数据保持)功能的实战指南。针对低功耗芯片设计,文章详细阐述了如何根据应用场景(如移动AP、IoT设备)权衡开关类型、尺寸、唤醒时序以及保持电压,以实现静态功耗优化与数据可靠性的最佳平衡,并强调了后端实现与签核检查的关键要点。

weixin_29204121的博客 296

【亲测免费】 推荐一个强大的JavaScript模板引擎:JsViews

如果你正在寻找一个功能强大、灵活易用的JavaScript模板引擎,那么JsViews绝对值得一试。 ## 什么是JsViews? JsViews是一个基于JavaScript的模板引擎,用于在浏览器端动态渲染HTML内容。它可以将JSON数据绑定到HTML模板中,并允许通过双向数据绑定实现视图与模型的实时同步更新。除此之外,它还提供了一套简洁的语法糖,使得开发者可以轻松地处理复杂的模板逻辑。

gitblog_00026的博客 707

用Cursor+Node.js零代码搭建健康数据仪表盘:从数据录入到可视化全流程

本文详细介绍了如何利用Cursor AI编程助手和Node.js,无需手动编写代码,即可构建个人健康数据仪表盘的全流程。通过自然语言指令,实现从数据录入、存储到动态图表可视化的完整系统,展示了AI驱动开发在降低技术门槛、提升开发效率方面的强大能力。

gitlab7runner的博客 700

JsViews 项目常见问题解决方案

JsViews 是一个基于 JavaScript 的开源项目,旨在提供一个交互式的数据驱动视图框架。它结合了 MVVM(Model-View-ViewModel)和 MVP(Model-View-Presenter)模式,构建在 JsRender 模板引擎之上。JsViews 通过数据绑定和可观察数据,为开发者提供了一个强大的平台,用于创建动态、交互式的单页应用和网站。 ## 新手使用注意事项及

gitblog_00823的博客 1119

UDP_千兆光通信(四)Tri Mode Ethernet MAC ip核

其中 Transmit Engine 从 AXI-Stream TX 接口接收数据,并添加前导码 Preamble、帧起始界定符 SFD、帧校验序列 FSC 等,并在必要时(长度小于最小 MAC 帧长度)填充数据,因此在使用 TEMAC 时,MAC 帧的这几个部分就不需要我们自己添加了(不过其他的 MAC 帧部分,可选的帧过滤器 Frame Filter 用于过滤与一组可配置过滤器匹配的帧,一般用于过滤掉目的 MAC 地址与本设备不一致的帧,TEMAC 默认开启帧过滤器。默认值为使用64位宽的计数器。

lzr232的博客 1775

KingSCADA实现按钮点击效果

哈喽,你好啊,我是雷工!在做SCADA项目的时候,按钮是不可缺少的功能,但软件自带的按钮太丑,已经无法满足现如今客户对界面美观度的要求。这时候就需要UI小姐姐设计美观大气的SCADA界面,但UI设计的按钮切图放到程序中只是图片素材,当添加了按钮功能时,虽然能实现按钮功能,但没有任何点击效果;当遇到有需要连锁条件才能点击的按钮时,操作员无法区分是有连锁点击了没反应,还是系统界面卡死了导致的没点击成功,这时候有点击效果就能很好的区分这种问题。本篇介绍一种实现按钮点击效果的方法,以下为操作过程。

做有价值的事,积累有价值的笔记! 2765

Cocos2d-js中的简易MVC框架(四)显示层View

View的功能比较简单,View在MVC结构中负责显示和接收事件。在Cocos2d-JS中Scene和Layer都是View,View只负责显示和接收事件,不负责处理逻辑。在框架中View的实现分为两类,一类是IScene继承自cc.Scene负责场景显示,另一类是IView继承自cc.Layer负责场景上的层显示。IScene和IView的实现如下: game.IScene = cc.Scen

ituuz的专栏 1189

网规第三版:第4章网络资源设备(完结)

第 4 章 网络资源设备 调整内容: 更新主流网络设备(交换机、路由器、防火墙)的技术参数与选型标准 增加国产化网络设备与信创产品的相关内容 精简已淘汰的设备类型与技术指标

鹿鸣天涯 268

(转)Model-View-Controller (MVC) with JavaScript

为什么80%的码农都做不了架构师?>>> ...

weixin_34200628的博客 118

【27】软考软件设计师——数据流图(DFD)补全题满分精讲|下午15分大题深度拆解

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第27篇,深度精讲**下午案例题第1道必考大题:数据流图(DFD)补全**,该题单题分值高达**12 ~ 15分**,是整张试卷最稳的保底得分大题。我结合多年备考复盘与真题阅卷规则,超详细拆解DFD四大核心元素标准定义、机考绘图规范、三层分层逻辑、**父图子图平衡刚性扣分规则**,升级强化版「DFD满分补全三步法」;复刻历年高频真题完整流程,拆解缺失数据流定位、实体/存储辨析、平衡改错、文字需求对照全流程,配套**阅卷满分答题话术、机考避坑细则

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 590

英飞凌TC3xx--深度手撕HSM安全启动(三)--TC3xx HSM系统架构

TC3xx的HSM内核是一颗32位的ARM Cortex M3,主频可达100MHz,支持对称算法AES128、非对称算法PKC(Public Key Crypto) ECC256、Hash SHA2,以及TRNG(真随机数生成)。

认真搞搞汽车MCU 5746

mvc view 中 js 不反应

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Title</title> 6 <link href="/Content/Songsen/css.css" rel="style...

weixin_34051201的博客 224

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Backbone View入门

Backbone 是一个JavaScript框架,可用于创建模型-视图-控制器 (model-view-controller, MVC) 类应用程序和单页界面。它试图让 JavaScript 应用程序更清晰结构化,所涉及到的概念有 View,Event,Model,Collection 和Router,所以新手刚开始接触 Backbone ...

weixin_34306446的博客 183

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Asp.net MVC在View里动态捆绑压缩引用的js

前言 Asp.net MVC 4以上版本多了BundleConfig.RegisterBundles方法,可以把要捆绑的脚本或样式进行捆绑压缩,以减少客户端的请求次数从而提高了客户端的访问速度。 问题 但世上懒人的数量还是很多,我也是一个,觉得这个方法还不够方便。在实际中,一些小的页面或独立页面,开了一些开源的js库之后,js文件比较多,而且每个页面引用的js又不太一样,如果能不在Bundl

大自然的搬运工 563

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

mvc - view传值到js

http://www.cnblogs.com/akwwl/p/5238975.html 转载于:https://www.cnblogs.com/chenyishi/p/7493467.html

weixin_30456039的博客 215

BackBone简介

BackBone是一个轻量级的MVC JavaScript库,具有以下特点: 强制依赖于Underscore.js 非强制依赖于Jquery/Zepto 下面是BackBone的MVC思想 他是从浏览器的HTTP开始,当如router检测到浏览器的URL满足特定的条件,就会匹配到相应的View,View则有两条路,上面一条请求view对应的Moudel,或者请求view对应的collection,...

Listron的专栏 431

MVC 模式

MVC(模型-视图-控制器)是一种软件架构模式,将应用程序分为三个核心组件:模型处理数据和业务逻辑,视图负责用户界面展示,控制器协调模型和视图的交互。该模式通过分离关注点提高代码可维护性、可扩展性和可测试性,广泛应用于Web开发(如PHP、Java Spring)、桌面和移动应用。示例展示了PHP实现的简易学生管理系统,包含模型数据操作、视图渲染和控制器路由处理。MVC适合中大型项目,但可能增加小型项目的复杂度。其优势在于清晰的职责划分,但需注意学习曲线和性能开销。

likuoelie的博客 1122
上一篇: Javascript MVC ——Controller
下一篇: 敏捷工具,使用Excel自动生成故事卡
0x16
博客等级 码龄20年 79粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值