seajs+easyui实战

*
 *author Benjamin
 *date   2013-11-24
 *content seajs+easyui使用
 */


/**
 * 首先来看看在seajs中jquery和jquery插件如何使用
 */
1.jquery.js
define(function(require,exports,module)){

	//原jquery.js代码

	module.exports = $.noConflict(true);
}
2.jquery.combobox.js

依赖关系如下:
jquery.combobox.js    依赖 jquery.combo.js
jquery.combo.js       依赖 jquery.panel.js、jquery.validatebox.js
jquery.validatebox.js 依赖 jquery.tooltip.js

那怎么封装jquery.combobox.js及依赖的插件呢?
1)jquery.combobox.js
define(function(require,exports,module){
	return function($){
		require("plugins/jquery.combo");
		//插件代码
	}
});
2)jquery.combo.js
define(function(require, exports, module) {
	return function($) {
		require("plugins/jquery.validatebox")($);
		require("plugins/jquery.panel")($);
		//原jquery.combo.js代码
	}
});
3)jquery.validatebox.js
define(function(require, exports, module) {
	return function($) {
		require("plugins/jquery.tooltip")($);
		//原jquery.validatebox.js代码
	}
});

4)jquery.panel.js、jquery.tooltip.js
define(function(require, exports, module) {
	return function($) {
		//原jquery.validatebox.js/jquery.panel.js代码
		(function($){
			......
		})(jQuery);
		//注意此处要把jQuery改为$,要不就在init.js中把实参改为jQuery
	}
});

/**
 * 相关实例
 */
a)index.html
<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<link rel="stylesheet" type="text/css" href="themes/default/easyui.css"/>
	<link rel="stylesheet" type="text/css" href="themes/icon.css"/>
</head>
<body>
	<select id="sel_refresh">
		<option value="0">不刷新</option>
		<option value="60">1分钟</option>
		<option value="120">2分钟</option>
	</select>
<script type="text/javascript" src="sea.js"></script>
<script type="text/javascript">
seajs.use("./init",function(init){
	init.initPage()
});
</script>
</body>
</html>
b)init.js
define(function(require,exports,module){
	//加载依赖模块
	var $ = require("jquery");
	require("./plugins/jquery.combobox")($);

	//私有属性和方法
	var name = "Benjamin_private";
	var setName = function(name){
		console.log("My name is "+ name);
	}
	
	//公有属性和方法
	module.exports = {
		name     : "Benjamin_public"
		initPage : function(){
			$("#sel_refresh").combobox({
				width:150,
				onSelect:function(rec){
					console.log(rec);
				}
			});
		},
		setName : function(name){
			console.log("My name is "+ name);	
		}
	}
});
c)jquery.combobox.js及依赖插件代码参见上面


/**
 * 问题
 */
a)使用seajs+easyui 时 easyui框架的 jquery.parse.js 基本上每个控件都有用到,所以建议每个控件添加依赖时都增加这个依赖;更改这个文件时要注意,其文件中两个闭包都要更改实参。
b)避免缓存设置
可以在链接后加个时间戳,也可以直接配置
seajs.config({
    debug : 2;
});

c)其中的各控件样式文件在此实例中没有设置按模块加载,自己可设置
d)其他问题后续总结补充...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jfinal2.0是一款基于Java语言的轻量级开源Web应用框架。它具有简单易用、快速开发、高效稳定等特点。采用了MVC架构模式,通过注解方式配置路由,可以实现快速、灵活地进行控制器的映射。同时,它也支持AOP、ORM等常用的开发模式,通过简化繁琐的代码操作,提高了开发效率。 bootstrap是一款HTML、CSS和JavaScript框架,用于开发响应式、移动设备优先的网站和Web应用。它提供了丰富的CSS样式和JavaScript插件,可以快速搭建出漂亮的、兼容性良好的界面。同时,bootstrap还支持自定义主题、响应式布局等功能,非常适合用于快速构建用户友好的界面。 seajs是一款用于JavaScript模块化开发的框架。它采用了CMD规范,通过define和require等方法对模块进行定义和引用。seajs可以帮助开发人员管理和加载模块,实现代码的模块化,提高了代码的可维护性和复用性。除此之外,seajs还支持插件机制、异步加载等功能,更好地适应了复杂的Web应用开发需求。 fullcalender.js是一款基于JavaScript和jQuery的全功能日历插件。它提供了丰富的功能,如日程管理、事件编辑、拖拽操作等。同时,fullcalender.js还支持各种视图模式的切换,如月、周、日视图,并且支持自定义样式和事件处理函数,可以方便地适应各种日历需求。使用fullcalender.js可以使用户在Web应用中更加方便地管理和查看日期和事件信息。 ### 回答2: jfinal2.0是一种基于Java的轻量级MVC框架,它具有简单易用、高效快速的特点。通过JFinal2.0,开发人员可以快速搭建Java Web应用程序,并且具有良好的扩展性和灵活性。 Bootstrap是一种前端开发框架,它提供了丰富的组件和样式,可以帮助开发人员快速构建美观且响应式的网页。通过Bootstrap,开发人员可以使用预定义的样式和布局,使网页在不同的设备上显示效果一致。 Seajs是一种模块加载器,它可以帮助开发人员更好地组织和管理JavaScript代码。通过Seajs,开发人员可以将代码分割成独立的模块,通过异步加载的方式进行模块依赖管理,提高前端开发的效率。 FullCalendar.js是一种用于显示和操作日历的JavaScript库。它可以帮助开发人员在网页中嵌入交互式的日历控件,并且支持事件的添加、编辑和删除等功能。通过FullCalendar.js,开发人员可以轻松实现日历功能,例如会议安排、活动管理等。 综上所述,jfinal2.0、bootstrap、seajs和fullcalender.js都是在不同场景中用于简化开发工作的工具和框架。它们可以使开发人员更高效地开发应用程序,并提供了丰富的功能和易用的界面,为用户提供更好的体验。 ### 回答3: JFinal 2.0是一款基于Java语言的开源Web开发框架,它提供了简单易用的API和插件机制,可以帮助开发者快速构建高性能的Web应用程序。JFinal 2.0具有轻量级和灵活的特点,拥有良好的MVC架构和面向切面编程的支持。它还提供了丰富的插件来扩展应用的功能,例如插件管理、权限控制、缓存管理等。JFinal 2.0还集成了Bootstrap、Sea.js和FullCalendar.js等优秀的前端框架和组件,使开发者可以更方便地实现各种前端交互效果和页面布局。 Bootstrap是一款开源的前端框架,它提供了丰富的CSS和JavaScript组件,能够帮助开发者快速构建响应式的Web页面。Bootstrap具有简洁美观的设计风格和灵活的布局系统,可以适应不同屏幕大小的设备,并提供了丰富的样式和组件,例如按钮、表单、导航条等,可以帮助开发者快速构建出现代化的Web界面。 Sea.js是一款用于浏览器端JavaScript模块化开发的工具。它采用的是CMD规范,可以将JavaScript代码按照模块化的方式进行组织和管理,提供了便捷的模块定义和加载机制。Sea.js还提供了丰富的插件系统和调试工具,可以帮助开发者更高效地进行JavaScript开发。 FullCalendar.js是一款功能强大的日历插件,它基于jQuery开发,提供了丰富的日历展示和日程管理功能。FullCalendar.js可以将日历事件以可视化的方式展示,并支持日程的拖拽和编辑功能,可以方便地进行日程的增删改查操作。FullCalendar.js还提供了多种日历视图和自定义配置选项,可以适应不同的日程管理需求。 综上所述,JFinal 2.0结合Bootstrap、Sea.js和FullCalendar.js等前端框架和组件,可以帮助开发者高效地构建性能优越、界面美观、功能丰富的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值