±¾Õ¿ªÊ¼´îÅärequireJSÀ´Ê¹ÓÃavalon£¬¿ªÊ¼Ö®Ç°£¬ÎÒÃÇ¿ÉÒÔ¶Ôavalon½øÐо«¼ò¸ÄÔ죨ע£ºÐ°æµÄavalonÒÑÌṩÁËshim°æ±¾£¬ÎÞÐèÔÙ×öÈçϵľ«¼òÁË£¬Ö±½ÓµãÕâÀï»ñÈ¡£©¡£
avalonÔ´ÂëÀïÓÐ×Ô¼ºµÄAMD¼ÓÔØÆ÷ºÍDOMReadyÄ£¿é£¬Ê¹ÓÃrequireJSÀ´¼ÓÔØ¸÷ÒÀÀµ½Å±¾µÄ»°£¬Ê¹ÓÃÆäÅäÌײå¼þDOMReadyÀ´readyÖ´Ðлá¸üºÏÊÊ£¬¶øÇÒavalonµÄAMDÄ£¿éÒ²¶àÓàÁË¡£¹ÊÎÒÃÇ¿ÉÒÔ°ÑÕâÁ©¿é´úÂëßÇàêµô¡£
Ö»ÐèÒªÔÚÔ´ÂëÀïËÑË÷¡°AMD¡±ºÍ¡°DOMReady¡±¾ÍÄÜÕÒµ½Î»ÓÚβ²¿µÄÕâÁ©Ä£¿é£¬É¾µôËüÃÇ¿ÉÒÔ½ÚÊ¡400¶àÐдúÂ루´óÔ¼ÊǵÚ4358Ðе½4777ÐУ©:


ҪעÒâµÄÊÇavalonµÄDOMReadyÄ£¿éÀï´øÁË×ÔɨÃè»úÖÆ£¬ËüÄÜÔÚDOMReadyºó×Ô¶¯Ö´ÐÐavalon.scan()À´É¨ÃèºÍÖ´ÐÐÎĵµÖеÄavalon¹¦ÄÜÊôÐÔ£º

ËùÒÔÎÒÃÇɾµôÔ´ÂëÖÐDOMReadyÄ£¿éµÄ»°£¬Ö®ºó±àдavalon½Å±¾Ó¦µ±ÔÚ×îºóÊÖ¶¯¼ÓÉÏÒ»¾ä avalon.scan()
»ò avalon.scan(document.getElementById("XX"))
£¬Ç°Õß»áɨÃèÕû¸öÎĵµ£¬ºóÕßÖ»»áɨÃèËùÑ¡DOMÄÚÇøÓò£¬ÎÒ¸öÈËÊÇÍÆ¼öʹÓúóÕß¡£
ÆäʵÔÚµÚһƪµÄʱºò¾ÍÓÐÌá¹ýÕâ¸öÎÊÌâÁË£¬Ö»ÊÇûϸ˵£º

ɾµôavalon×Ô´øµÄAMDºÍDOMReadyÄ£¿éºó£¬»¹ÓÐÒ»¸öСµØ·½Ò²½¨ÒéÐÞ¸ÄÏ£¨·Ç±ØÐëÏ£¬ËüÊÇavalonÄÚÖõĵ÷ÊÔ·½·¨£¬Îª²»¸ÉÈźóÐø×Ô¼ºµÄ½Å±¾µ÷ÊÔ£¬¿ÉÒÔ°ÑËü×¢Ê͵ô¡£
·½·¨ÊÇÖ±½ÓÔÚÔ´ÂëËÑË÷¡°console¡±£¬´óÔ¼ÔÚ46ÐеÄλÖÃ×¢Ê͵ôlog()·½·¨ÀïµÄµ÷ÊÔ´úÂë¼´¿É£º

ÐèÇó
±¾ÕÂÒªÓõ½µÄ½Å±¾³ýÁ˾«¼òºóµÄavalonJS£¬»¹ÐèÒªrequireJS¼°Æä²å¼þDomReady.js£¨ºóÐøÆªÕ»¹»áÓõ½css.jsÀ´°´Ðè¼ÓÔØÑùʽÎļþ£©¡£
Äã¿ÉÒÔÔÚÎÒµÄGithubÉÏÖ±½ÓÏÂÔØ±¾ÕµÄDemo£¬Ò²Ê¡È¥ÁËËÑÂÞÉÏÊö½Å±¾µÄ¹ý³Ì¡£
ʾÀý
ÎÒÃÇÒÀ¾ÉÄÃÉÏһƪµÄÑ¡ÏÀ´×ö±¾ÕÂʾÀý¼´¿É£¬±¾ÕÂÖ÷Òª½éÉܵĽöΪÈçºÎÔÚʹÓÃrequireJSµÄ»ù´¡ÉÏʹÓÃavalon£º

ÎÒÃDZ¾ÕÂʾÀýµÄÎļþϵͳ¿ÉÒÔÊÇÕâÑùµÄ£º

ÆäÖеÄjs/pageÎļþ¼ÐÏ嵀 index.js ×÷Ϊ index.html Ò³ÃæµÄ½Å±¾Èë¿Ú£¨requireJSµÄmainÈë¿Ú£©¡£js/toolÎļþ¼ÐÏÂÔò´æ·ÅÒªÓõ½µÄ¹¤¾ß¡£ÕâÑù»¹Âù¼ò½àÖ±¹ÛµÄ¶Ô°É¡£
ÔÚ index.html Ò³ÃæÀÎÒÃǽöÐèÒýÈëÅäÖÃÁËÈë¿ÚµÄrequireJSÎļþ¼´¿É£º
<script src="js/tool/require.js" type="text/javascript" data-main="js/page/index"></script> |
È»ºó¼ÓÈëÎÒÃÇÉÏһƪavalonÎÄÕÂÖÐдºÃµÄÄÚÈÝ£¬ÕûÌåÊÇÕâÑùµÄ£º
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>³õÍæ°¢Íß¡</title> <script src="js/tool/require.js" type="text/javascript" data-main="js/page/index"></script> </head> <body> <script type="text/javascript"> //ÕâÀï¸øºó¶ËÌṩÊý¾Ý½Ó¿Ú var conf = { gg:[{"id":"1","title":"¹«¸æÎÄÕ±êÌâ1"},{"id":"2","title":"¹«¸æÎÄÕ±êÌâ2"},
{"id":"3","title":"¹«¸æÎÄÕ±êÌâ3"},{"id":"4","title":"¹«¸æÎÄÕ±êÌâ4"}], bd:[{"id":"1","title":"ýÌ屨µÀÎÄÕ±êÌâ1"},{"id":"2","title":"ýÌ屨µÀÎÄÕ±êÌâ2"},
{"id":"3","title":"ýÌ屨µÀÎÄÕ±êÌâ3"},{"id":"4","title":"ýÌ屨µÀÎÄÕ±êÌâ4"}] }; </script> <div ms-controller="list"> <span ms-mouseover="changeUl(1)">¹«¸æ</span> <span ms-mouseover="changeUl(0)">ýÌ屨µÀ</span> <a ms-href="'#!/'+ more_name">{{more_text}}</a> <ul> <li ms-repeat="infoList"> <a ms-href="'#!/'+ more_name + '/' + el.id" ms-title="el.title">{{el.title}}</a> </li> </ul> </div> </body> </html> |
Ö÷Ò³ÃæÐ´ºÃÁË£¬ÎÒÃÇÔÙ¿´¿´requireJSµÄÈë¿Ú½Å±¾ js/page/index.js Ôõôд¡£
Ê×ÏÈÊÇÅäÖÃÎÒÃÇÒªµ÷Óõ½µÄÎļþ£¨±ÈÈçavalonJSºÍdomReadyJS£©£º
require.config({ baseUrl: 'js/', //Ïà¶ÔÓÚindex.htmlÒ³ÃæÎļþµÄµØÖ· paths:{ //ÕâÀïÅäÖõĵØÖ·£¬¶¼ÊÇÏà¶ÔÓÚÉÏ·½µÄbaseUrlµÄ avalon: 'tool/avalon', domReady:'tool/domReady' }, shim:{ avalon: { exports: "avalon" } } }); |
ÆäÖеÄbaseUrlÊǵ±Ç°configµÄÈ«¾Ö·¾¶£¬ºóÃæpathsÀﶨÒåµÄ·¾¶¶¼ÊÇÏà¶ÔÓÚbaseUrlµÄ£¬baseUrlµÄºÃ´¦¾ÍÊÇÈç¹û·¾¶ºÜ³¤µÄ»°£¬¿ÉÒÔÄÃËüµ±Ç°×º±äÁ¿¡£
ÀýÈçÉÏÊö´úÂëpathsÀﶨÒåavalonµÄµØÖ·ÊÇ "tool/avalon"£¬Êµ¼ÊÔËÐеÄʱºò»á¸øËü¼ÓÉÏǰ׺baseUrl£¨µ±È»Ò²»á¼ÓÉÏÊ¡ÂԵĺó׺Ãû.js£©±ä³É
"js/tool/avalon.js"¡£
shimÖ¸µÄÊǸø·ÇÑϸñAMD±ê×¼µÄÎļþ¼ÓÉÏÒ»²ã¡°¿Ç¡±£¬ÔöÇ¿´úÂ뽡׳ÐÔ¡£
½ÓמÍÊÇÎÒÃǶÔavalon½Å±¾µÄ³£¹æµ÷ÓÃÁË£º
require(['avalon',"domReady!"], function() { var vm = avalon.define({ $id: "list", more_name: "gg", more_text: "¸ü¶à¹«¸æ", gg:conf.gg, bd:conf.bd, infoList:conf.gg, changeUl:function(flag){ if(flag){ vm.more_name = "gg"; vm.more_text = "¸ü¶à¹«¸æ"; vm.infoList = vm.gg; }else{ vm.more_name = "bd"; vm.more_text = "¸ü¶à±¨µÀ"; vm.infoList = vm.bd; } } }); avalon.scan(); }); |
×¢ÒâÒªÓÃ
require(['ÒÀÀµÎļþ1',"ÒÀÀµÎļþ2"], function() { //»Øµ÷ }) |
À´´¦ÀíÄ£¿éÒÀÀµ£¬È»ºó×¢ÒâdomReadyJSµÄÄ£¿éÒýÓÃд·¨ÊÇ¡°domReady!¡±£¬¼´ÔÚ×îºó¼ÓÁËÒ»¸ö¸Ð̾ºÅ£¬±íʾÓÅÏÈʹÓÃÆä×÷ΪDOMReady´¦ÀíÄ£¿é¡£
ÕûÀíһϣ¬ÎÒÃÇµÄ js/page/index.js Îļþ×îÖÕÊÇÕâÑùµÄ£º
require.config({
baseUrl: 'js/', //Ïà¶ÔÓÚindex.htmlÒ³ÃæÎļþµÄµØÖ·
paths:{ //ÕâÀïÅäÖõĵØÖ·£¬¶¼ÊÇÏà¶ÔÓÚÉÏ·½µÄbaseUrlµÄ
avalon: 'tool/avalon',
domReady:'tool/domReady'
},
shim:{
avalon: { exports: "avalon" }
}
});
require(['avalon',"domReady!"], function() {
var vm = avalon.define({
$id: "list",
more_name: "gg",
more_text: "¸ü¶à¹«¸æ",
gg:conf.gg,
bd:conf.bd,
infoList:conf.gg,
changeUl:function(flag){
if(flag){
vm.more_name = "gg";
vm.more_text = "¸ü¶à¹«¸æ";
vm.infoList = vm.gg;
}else{
vm.more_name = "bd";
vm.more_text = "¸ü¶à±¨µÀ";
vm.infoList = vm.bd;
}
}
});
avalon.scan();
}); |
ÔËÐÐindex.html£¬»á·¢ÏÖÒ»ÇÐ˳Àû£º

±¾Õ¾ÍÏȼòµ¥½éÉÜÔÚrequireJSÏÂÈçºÎʹÓÃavalon£¬ÏÂһƪavalonÎÄÕ´òËã¸ø´ó¼Ò½éÉܷdz£Á˵õĶ«Î÷¡ª¡ªavalonµÄǰ¶Ë·ÓÉ¡£
|