Require.JS中的几种define定义方式示例

本文主要给大家介绍的是关于Require.JS中define定义方式的相关内容分享出来供大家参考学习,下面来看看详细的介绍:

定义简单的键值对

rush:js;"> define({ color: "black",size: "unisize" });

定义不带依赖的函数

rush:js;"> define(function () { //Do setup work here

return {
color: "black",size: "unisize"
}
});

存在依赖的函数式定义

如果模块存在依赖:则第一个参数是依赖的名称数组;第二个参数是函数,在模块的所有依赖加载完毕后,该函数会被调用来定义该模块,因此该模块应该返回一个定义了本模块的object。依赖关系会以参数的形式注入到该函数上,参数列表与依赖名称列表一一对应。

rush:js;"> define(["./cart","./inventory"],function(cart,inventory) { //return an object to define the "my/shirt" module. return { color: "blue",size: "large",addToCart: function() { inventory.decrement(this); cart.add(this); } } } );

将模块定义为一个函数

对模块的返回值类型并没有强制为一定是个object,任何函数的返回值都是允许的。此处是一个返回了函数的模块定义:

rush:js;"> define(["my/cart","my/inventory"],inventory) { //return a function to define "foo/title". //It gets or sets the window title. return function(title) { return title ? (window.title = title) : inventory.storeName + ' ' + cart.name; } } );

定义一个命名模块

你可能会看到一些define()中包含了一个模块名称作为首个参数:

rush:js;"> define("foo/title",["my/cart",inventory) { //Define foo/title object in here. } );

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...