yii
是所有 Yii JavaScript 模块的根(root)模块。
它通过函数yii.initModule()
,实现了在模块中组织JavaScript代码的机制。
每个模块都应该命名为x.y.z
,其中x
代表根(root)模块(对于Yii核心代码,这是yii
)。
一个模块的结构如下:
window.yii.sample = (function($) {
var pub = {
//此模块当前是否处于激活状态。如果为false,则不会为此模块调用init(),也不会为其所有子模块调用它。
//如果此属性未定义,则表示为true。
isActive: true,
init: function() {
// ... 这里写模块初始化时运行的代码
},
// ... 在这里定义其他的公共函数和属性
};
// ... 在这里定义私有函数和属性
return pub;
})(window.jQuery);
使用此结构,可以为模块定义公共和私有的函数/属性。
私有的函数/属性仅在模块内可见,而公共的函数/属性可在模块外访问。例如,您可以访问yii.sample.isActive
。
必须为所有模块的根模块调用一次yii.initModule()
。
⚠️注:这个不用手动调用了,在yii.js中初始化的时候已经调用过了。此处的说明仅仅是讲原理。
具体模块的应用实例请看: yii.validation.js
本文由 best 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。