Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
AngularJS¡ªÊ¹ÓÃÄ£¿é×éÖ¯ÄãµÄ´úÂë
 
×÷Õß LeoXu£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-11-11
  3636  次浏览      29
 

½éÉÜ

AngularJS µÄ¿âÀïÃæÓкܶණÎ÷£¬µ«±¾ÎÄÖÐÎÒÖ»ÏëרעÓÚСµÄ£¬Õë¶ÔÌØ¶¨Ö÷ÌâµÄ¿â£¬ÎÒÏàÐÅͨ¹ýËüÃÇÄܶÔAngularÓÐÒ»¸ö½ÏºÃµÄ½éÉÜ. Àí½âÕâÆªÎÄÕ²¢²»ÐèÒªÄãÓÐÈκÎAngularÏà¹ØµÄ£¬ÉõÖÁÊÇJavaScriptµÄ¾­Ñ顣ϣÍûÄãÄÜ´Ó±¾ÎÄÖп´µ½Ò»Ð©Ê¹ÓÃAngularµÄºÃ´¦£¬²¢ÀÖÓÚ¶¯ÊÖ³¢ÊÔ.

±³¾°

ÎÒʹÓÃAngularÓÐÒ»¶Îʱ¼äÁË£¬¶øÔÚѧϰAngularµÄʱºò£¬ÎÒҲϲ»¶¹¹½¨Ò»Ð©ÑùÀý£¬ËùÒÔµ±ÎÒÒ»¿ªÊ¼ÉîÈë½øÈ¥µÄʱºò£¬¶ÔÓÚÄ£¿é»òÕßJavaScriptµÄÉè¼ÆÄ£Ê½£¬ÎÒҲûÓжàÏ룬ÄÇÑù¶Ô±£³Ö´úÂë×éÖ¯ºÍÌõÀíÐÔÓаïÖú. ÄǾÍÊÇËùÓеÄÖØµã£º±£³Ö´úÂëµÄ×éÖ¯ºÍÌõÀíÐÔ. Òò´Ë£¬ÏÖÔÚÎһعýÍ·À´£¬´´½¨ÁËÕâ¸ö¼«ÆäСÇɵÄÑùÀý£¬ÒÔչʾʹÓÃÄ£¿é¿ÉÒÔÓжà¼òµ¥. һ·×ßÀ´£¬ÎÒÏ£ÍûËüÄܹ»³ÉΪһƪºÃµÄ¶ÔAngularµÄ½éÉÜ.

£¨´ó¶àÊý£©ÎÄÕÂÔÚ²ûÊöģʽʱµÄÎÊÌâ

´ó¶àÊýʱºòÈËÃǶ¼»á³¢ÊÔÈ¥ÔÚ¶ÁÕßÖªµÀģʽÊÇɶ¸ÅÄî֮ǰ¾Í¿ªÊ¼²ûÊöÒ»¸öģʽ£¬¶øÕâ»ù±¾ÉÏÎóµ¼ÁËÿһ¸öÈË. ÕâÀïҪŬÁ¦Ê¹µÃ±¾Îľ¡Á¿¼òµ¥£¬ÈÃÎÒÃÇÊ×ÏÈÀ´¿´Ò»¿´Õâ¸öÎÊÌâ°É¡£ÄĸöÎÊÌâÄØ£¿¾ÍÊÇÓйØÄ¬ÈÏ»áÔÚÈ«¾ÖÄÚ´æ¿Õ¼ä±»´´½¨µÄËùÓж«Î÷µÄJavascriptµÄÎÊÌâ.

ÏÂÃæ¾ÍÊÇÎÒËù˵µÄÒâ˼.

JavaScript ĬÈϵÄÈ«¾ÖÎÊÌâ

ÉèÏëÄãµÄHTMLÖÐÓÐÏÂÃæÕâÑùÒ»¶Î½Å±¾.

<script>
var isDoingWork = false;
</script>

·¶Î§?

ÄãÇå³þÕâ¸ö±äÁ¿µÄ·¶Î§Ã´?

Êǵģ¬ËüÊÇÈ«¾ÖµÄ¡£Õâ¸ö²¼¶ûֵʵ¼ÊÉϱ»Ìí¼Óµ½ÁËä¯ÀÀÆ÷µÄÈ«¾Ö´°¿Ú¶ÔÏóÖÐ.

°ÑËüÉèÖõ½ActionÖÐ

ÕâÀïÄã¿ÉÒÔ¿´µ½ËüÔÚActionÖÐÊÇÔõÑùµÄ.

1.ÏÂÔØ±¾ÎĵĴúÂëÑùÀý.

2.ÔÚÄãµÄä¯ÀÀÆ÷Öдò¿ª modulePattern.htm .

3.´ò¿ªä¯ÀÀÆ÷¿ª·¢¹¤¾ß -- F12(Chrome, IE) or Ctrl-Shift-I (Opera) -- (ÄÇÑù¾Í¿ÉÒÔ¿´¼û¿ØÖÆÌ¨ÁË)

4.ÔÚä¯ÀÀÆ÷¹¤¾ß¿ØÖÆÌ¨Ï£¬ÊäÈë: isDoingWork£¬È»ºó»Ø³µ<ENTER>

5.Äã»á¿´µ½Êä³öµÄֵΪfalse.

6.ÏÖÔÚÊäÈë : isDoingWork = true£¬È»ºó»Ø³µ<ENTER>

7.Èç´ËÏÂÔØµÄÖµ¾ÍΪtrueÁË. ÄãÒѾ­¸Ä±äÁËÕâ¸öÖµ.

8.Äã¿ÉÒÔ¿´µ½Õâ¸öÖµÒѾ­Í¨¹ýÊäÈëdoingwindow.isDoingWork = trueÈ»ºó»Ø³µ<ENTER>£¬±»Ìí¼Óµ½ÁËÈ«¾Ö´°¿Ú¶ÔÏóÖ®ÖÐ.

Õâ¿ÉÄÜ»áÔì³ÉһЩÃû×Ö³åÍ»£¬Ò²»áµ¼ÖÂһЩÑÏÖØµÄbug. ÕâÒ²Ðí¶ÔÄã¶øÑÔÓеãè½ÈËÓÇÌìÁË£¬ÊDz»? µ«ÊÇÇëÉèÏëÄãÊǾö¶¨ÒªÈ¥ÊµÏÖijһ¸öеÄJS¿â£¬Ëüÿ·ÖÿÃë¶¼¿ÉÒÔ±»´´½¨³öÀ´. ¼ÙÉèÄã·¢ÏÖÁËÕâ¸ö½Ð×ö Panacea.js µÄºÜ°ôµÄ¿â£¬Ëü½«½â¾öÄãËùÓеÄÎÊÌâ.

Òò´ËÄãÏòÏÂÃæÕâÑùÔÚÄãµÄÒ³ÃæÖÐÒýÓÃÁËËü:

<script src="panacea.js"></script>

Èç´Ë¼òµ¥£¬Äã¾ÍÒѾ­½â¾ö֮ǰÄãÓöµ½µÄËùÓÐÎÊÌâ. È»¶ø£¬ÒòΪËüÊÇÒ»¸öÅÓ´óµÄ¿â£¬¶øÄãÖ»ÏëÒª½â¾ö·½·¨£¬È´²»»ØÈ¥ÉîÍÚÕâ¸öÅӴ󣨼¸Ç§ÐдúÂ룩ԴÎļþÀïµÄÿһÐдúÂë. ¶øÉîÂñÔÚ Panacea.js ÀïÃæÄ³¸ö½ÇÂäµÄȷʵÏÂÃæÕâÑùµÄ´úÂë:

var isDoingWork = false;
setInterval(function(){isDoingWork = !isDoingWork;}, 3000);

Õâ´úÂëÕæÊǿᣬÄãÖªµÀÂð?

ÿ¸ö3Ã룬Ëü¶¼»á½«Õâ¸ö²¼¶ûÖµÉèÖóÉÏà¶ÔµÄÖµ¡£°¡!

×Ô¼º¶¯ÊÖ¿´¿´

Èç¹ûÄãÏëÒª×Ô¼º¶¯ÊÖÑéÖ¤ÏÂÕâ¸ö¶«Î÷£¬Äã¿ÉÒÔ×öÏÂÃæÕ⼸²½:

1.ÏÂÔØ±¾ÎĵÄÑùÀý´úÂë.

2.ÔÚÄãµÄä¯ÀÀÆ÷Öдò¿ª modulePattern2.htm .

3.´ò¿ªä¯ÀÀÆ÷¿ª·¢¹¤¾ß -- F12(Chrome, IE) »òÕß Ctrl-Shift-I (Opera) -- (ÕâÑùÄã¾Í¿ÉÒÔ¿´µ½¿ØÖÆÌ¨ÁË)

4.ÔÚä¯ÀÀÆ÷¿ª·¢¹¤¾ßµÄ¿ØÖÆÌ¨Ï£¬ÊäÈë : isDoingWork È»ºó»Ø³µ<ENTER>

5.½«µÚ4²½¶àÖØ¸´¼¸´Î£¬Ä㽫»á·¢ÏÖisDoingWorkµÄÖµ»áÿ¸ö´óÔ¼3ÃëÖӱ仯һ´Î.

ÄÇÕâÊDz»ÊǺܰôÄØ?

ÎҵĵÚÒ»¸ö¹Ûµã : Ä£¿éģʽÊǺÜÓÐÓõÄ

ÎÒÐèҪΪ´Ë×ö³ö½âÊÍ£¬ÎªÁËÒªÏòÄãչʾΪʲô JavaScript µÄÄ£¿éģʽÊǺÜÓÐÓõÄ. ÎÒµÃÏëÄãչʾ JavaScript µÄÄ£¿éģʽ£¬ÄÇÑùÎҾͿÉÒÔ¸æËßÄãËüÊÇÈçºÎÔÚAngularJSÖб»Ê¹ÓûòʵÏÖµÄÁË.

Ä£¿éģʽ£º·â×°

Èç´Ë£¬Êµ¼Ê¾ÍÊÇ£¬Ä£¿éģʽ»ù±¾ÉϾÍÊÇ·â×°ÁË. ·â×°ÌýÆðÀ´ºÜÊìϤ£¬Èç¹ûÄãÓеãÃæÏò¶ÔÏó±à³Ì¾­ÀúµÄ»° -- ¶øÎÒҲϣÍûÄãÄÜÓеãÕâ¸ö¾­Ñé. ·â×°ÊÇÃæÏò¶ÔÏó±à³ÌµÄÈýÔ­ÔòÖ®Ò»¡£·â×°µÄÁíÍâÒ»¸ö˵·¨¾ÍÊÇÊý¾ÝÒþ²Ø¡£ÔÚ¾­µäµÄÃæÏò¶ÔÏó±à³ÌÖСª¡ªËü²»Í¬ÓÚJavaScriptËùÒÀÀµµÄÔ­ÐÍ»¯OOP -- Êý¾ÝÒþ²ØÊǹ¹½¨Ò»¸öÀàÄ£°åµÄÄÚÔÚ×é³É²¿·Ö.

ÀýÈçÔÚ C#ÖУ¬ Animal ÀàµÄ·â×° -- Òþ²ØÊý¾Ý -- ÌØ¶¨µÄÖµ±»¹ØÁªµ½Animal¶ÔÏó. ÄÇÑù£¬Èç¹ûijÈ˾ö¶¨±ä¸üÄÇЩֵ£¬Ëû»òËû±ØÐëÃ÷È·µÄͨ¹ý³õʼ»¯Ò»¸öAnimal¶ÔÏó²¢ÉèÖÃÕâ¸ö¶ÔÏóµÄÖµÀ´´ïµ½Ä¿µÄ. ÔÚJavaScriptÖУ¬ÎÒÃÇÔò¿ÉÒÔËæÒâµÄÔÚÈ«¾Ö´°¿Ú¶ÔÏóÖÐÉèÖÃÖµ.

public class Animal

{
// constructor allows user to set the commonName
public animal(string name)
{
this.commonName = name;
}
// making commonName private hides (encapsulates) it in the class
private string commonName;
//explicitly exposing the value for reading only
public string CommonName get { return this.commonName }
}

ÔÚJavaScriptÖУ¬Ä£¿éÒѾ­±»´´½¨ÓÃÀ´Ä£ÄâÕâÖÖ·â×°ÐÐΪÁË£¬Èç´ËÎÒÃǾͲ»»áÈ¥½«ÎÒÃǵıäÁ¿×éÖ¯µ½Ò»¸öÈ«¾ÖµÄÃüÃû¿Õ¼äÖУ¬²¢Ôì³ÉÁËÒþ²ØºÜÉîµÄÄÑÒÔ±»·¢ÏÖºÍÐÞ¸´µÄÎÊÌâ.

ÏÖÔÚÄãÖªµÀΪʲôÁË£¬ÈÃÎÒÃÇÀ´¿´¿´ÈçºÎ»áÊÇÕâÑùµÄ.

º¯Êý±»Á¢¼´µ÷Óõıí´ïʽ(IIFE)

¿´ÉÏÈ¥¾ÍºÃÏñÿ´ÎÎÒÃÇÏòÇ°ÍÆ½øÒ»²½£¬ÎÒÃǶ¼Òª×ßµãÅÔÃÅ×óµÀ. ÒòΪҪ»ñµÃÄÜÈÃÎÒÃÇ´´½¨Ä£¿éģʽµÄJavaScriptÓï·¨£¬ÎÒÃǾ͵ÃÈ¥Á˽âÒ»ÖÖ½Ð×öº¯Êý±»Á¢¼´µ÷Óõıí´ïʽÓï·¨£¬Ò²½Ð×öIIFE ( IIFE ·¢ÒôÊÇ "iffy").

×î»ù´¡µÄ IIFE ¿´ÆðÀ´ÏñÕâÑù:

(function(){
// lines
// of
// code
}());

Èç¹ûÄã´ÓÀ´Ã»Óп´µ½¹ýÏñÕâÑùµÄ¶«Î÷£¬ÄÇÄã¾ÍÓеã˵²»¹ýÈ¥ÁË.

Á¢¼´±»µ÷ÓÃ

Ê×ÏÈ£¬Õâ¸öÃû³ÆµÄµÚÒ»²¿·Ö½Ð×öÁ¢¼´±»µ÷ÓõÄÔ­ÒòÊÇ£¬Ò»°ã°üº¬Õâ¸öÌØÊ⺯ÊýµÄÔ´Îļþ±»¼ÓÔØºÃÁË£¬ÄÇô°üº¬ÔÚÕâ¸öº¯ÊýÖеĴúÂë¾Í»áÔËÐÐ.

¶ÔIIFEÓï·¨¸ü¼Ó×ÐϸµÄ¹Û²ì

Äã¿ÉÒÔ¿´µ½Õâ¸öÓï·¨µÄ×îÖÐÐÄÊÇÒ»¸öº¯Êý¡£¿´Ò»ÏÂÕâ¸ö´úÂë¿é£¬ÎÒÒѾ­½«´úÂë·Ö¶Î²¢½«Ò»Ð©ÐбêÉÏÁ˺ţ¬Èç´ËÎÒÃǾͿÉÒÔ̽ÌÖËüÁË.

( // 1.
function() //2.
{ // 3.
// Ò»ÐÐÒ»ÐÐ
// µÄ
// ´úÂë
}() // 4.
); // 5

Ê×ÏÈ£¬¿´¿´ÉÏÃæ½Å±¾µÄµÚ2ÐС£ÕâÒ»ÐÐͨ³£¿´À´¾ÍÊÇÒ»¸öÄäÃû£¨Ò²¾ÍÊÇûÓÐÃüÃû£©µÄº¯ÊýÉùÃ÷. ¶øºó£¬µÚ3Ò»Ö±µ½µÚ4ÔòÊÇÕâ¸öº¯ÊýµÄÖ÷Ìⲿ·Ö¡£×îºó£¬µÚ4ÐÐ×îºóÒÔÒ»¶ÔÀ¨»¡½áÊø£¬Õâ¶Ô À¨»¡»á¸æËßJavaScript½âÊÍÆ÷È¥µ÷ÓÃÕâ¸öº¯Êý¡£×îÖÕ, ËùÓÐÕâЩ¶¼»á±»°üÔÚÒ»¸ö²»¹éÊôÈκβ¿·ÖµÄÀ¨»¡£¨µÚ1ºÍµÚ5ÐУ©ÖÐ, ¶øÕâ¶ÔÀ¨»¡»á¸æËß½âÊÍÆ÷Òªµ÷ÓÃÕâ¸öÍⲿµÄÄäÃûº¯Êý£¬Ëü°üº¬ÁËÎÒÃÇËù¶¨ÒåµÄº¯Êý.

IIFE ¿ÉÒÔ´øÉϲÎÊý

Õâ¶ÎÆæ¹ÖµÄÓï·¨»áÔÚ´øÉϲÎÊýÖ®ºó£¬¿´ÆðÀ´»á¸ü¼ÓµÄÆæ¹Ö. Ëü¿´ÆðÀ´»áÏñÊÇÏÂÃæÕâÑù

(function(thing1, thing2){
// lines
// of
// code
}("in string", 382));

ÏÖÔÚ£¬Äã¿ÉÒÔ¿´µ½Õâ¸öº¯Êý¿ÉÒÔ´øÉÏÁ½¸ö»á±»ÄÚ²¿µÄº¯ÊýÒýÓõÄthing1, thing2²ÎÊý. ±»´«ÈëÖµ£¬ÔÚʾÀýÖÐÊÇ "in string" ºÍ 382.

ÏÖÔÚÎÒÃÇÀí½âÁËIIFEÓï·¨£¬ÈÃÎÒÃÇÀ´´´½¨ÁíÍâÒ»¸ö´úÂëʾÀý£¬ÎÒÃǽ«ÔËÐÐÕâ¶Î´úÂëÀ´¿´¿´·â×°ÊÇÈçºÎÔË×÷µÄ.

(function(){
var isDoingWork = false;
console.log("isDoingWork value : " + isDoingWork);
}());

×Ô¼º¶¯ÊÖ¿´¿´

ΪÁË¿´¿´ÊÇÔõôÔËÐеģ¬Äã¿ÉÒÔ×öÏÂÃæÕ⼸²½:

1.ÏÂÔØ±¾ÎĵÄÔ´´úÂë.

2.ÔÚÄãµÄä¯ÀÀÆ÷Öдò¿ª modulePattern3.htm.

3.´ò¿ªä¯ÀÀÆ÷µÄ¿ª·¢¹¤¾ß -- F12(Chrome, IE) »òÕß Ctrl-Shift-I (Opera) -- (ÕâÑùÄã¾Í¿ÉÒÔ¿´µ½¿ØÖÆÌ¨ÁË)

4.Äã¿ÉÒÔ¿´µ½ºÜÏñÏÂÃæÕâÑùͼƬÖÐËùչʾ³öÀ´µÄ¶«Î÷

µ±·½·¨±»µ÷ÓÃʱ -- Õâ»áÔÚ´úÂë±»JavaScript½âÊÍÆ÷¼ÓÔØÖ§»¤Á¢¼´·¢Éú -- ¶øºóº¯Êý»á´´½¨ isDoingWork ±äÁ¿£¬²¢µ÷ÓÃconsole.log()À´ÔÚ¿ØÖÆÌ¨Êä³öÕâ¸ö±äÁ¿µÄÖµ.

ÏÖÔÚ£¬ÈÃÎÒÃÇʹÓÿª·¢¹¤¾ßÖеĿØÖÆÌ¨À´ÊÔÊÔÎÒÃÇ֮ǰËù³¢ÊÔ¹ýµÄ²½Öè:

1.ÊäÈë: isDoingWorkÈ»ºó»Ø³µ<ENTER>

µ±ÄãÕâÑù×öÁËÖ®ºó£¬Ä㽫»á¿´µ½ ä¯ÀÀÆ÷²»ÔÙÏàÐÅisDoingWorkÕâ¸öÖµ±»¶¨Òå¹ý¡£¼´Ê¹ÊÇÄã³¢ÊÔ´ÓÈ«¾Ö´°¿Ú¶ÔÏóÖлñÈ¡Õâ¸öÖµ, ä¯ÀÀÆ÷Ò²²»ÈÏΪ isDoingWork Õâ¸öÖµÔڴ˶ÔÏóÖб»¶¨ÒåÁË. ÄãËù¿´µ½µÄ´íÎóÏûÏ¢¿´ÆðÀ´»áÏñ½ÓÏÂÀ´ÕâÕÅͼƬÖÐËùչʾµÄÕâÑù.

º¯ÊýÊÇÒ»¸ö¶ÔÏó£ºËü´´½¨ÁË·¶Î§

ÕâÊÇÒòΪÏÖÔÚÄãÒѾ­°ÑisDoingWorkÕâ¸ö±äÁ¿´´½¨ÔÚÁËÒ»¸öº¯ÊýÀïÃæ -- Ò²¾ÍÊÇÎÒÃÇÃǵÄÄäÃû IIFE ÖÐ -- ¶øÈç´ËÕâ¸ö±äÁ¿¾ÍÖ»ÄÜͨ¹ýÕâ¸öº¯Êý²ÅÄÜ·ÃÎʵ½. ÓÐȤµÄÊÇJavascriptÖеÄËùÓк¯Êý¶¼ÊǵÚÒ»Àà¶ÔÏó. ÄǺܼòÃ÷µÄÒâζן¯ÊýÊÇÒ»¸ö¶ÔÏó£¬Ëü¿ÉÄÜͨ¹ýÒ»¸ö±äÁ¿±»·ÃÎʵ½. »òÕß˵£¬ÁíÍâÒ»ÖÖÃèÊöµÄ·½Ê½ÊÇÄã´æ´¢ÁËÖ¸Ïò º¯ÊýµÄÒ»¸öÒýÓ㬲¢ÔÚÉÔºóµÄij¸öʱ¼ä»ñÈ¡Æä±äÁ¿.

ÔÚÎÒÃǵÚÒ»¸öʾÀýÖУ¬ÎÒÃǵÄÎÊÌâÊDz¢Ã»Óб£´æÒ»¸öÖ¸ÏòÎÒÃÇÄäÃûº¯ÊýµÄÒýÓã¬ËùÒÔÎÒÃÇÓÀÔ¶Ò²²»ÄÜÔÙ»ñÈ¡µ½isDoingWorkÕâ¸öÖµ¡£Õâ¾ÍÊÇÎÒÃÇÏÂÒ»¸öʾÀýÒª¸Ä½øµÄµØ·½.

º¯ÊýÊÇÒ»¸ö¶ÔÏó : ʹÓÃthis

ÒòΪÿһ¸öº¯Êý¶¼ÊÇÒ»¸ö¶ÔÏó£¬ËùÒÔÿ¸öº¯Êý¶¼»áÓÐÒ»¸öthis±äÁ¿£¬Õâ¸ö±äÁ¿Ïò¿ª·¢ÕßÌṩÁËÖ¸Ïòµ±Ç°¶ÔÏóµÄÒýÓÃ. ΪÁËÌṩÔÚ´ÓÍⲿ´óÎÒÃǵĺ¯Êý¼°Æä·¶Î§µÄ·ÃÎÊ£¬ÎÒÃÇ¿ÉÒÔ·µ»ØÕâ¸öthis±äÁ¿ -- ¶øËü½«»áÌṩһ¸öÖ¸Ïòµ±Ç°¶ÔÏóµÄÒýÓÃ.

È»ºó£¬³ý·ÇÎÒÃǽ«Õâ¸ö˽ÓеÄisDoingWork±äÁ¿Ìí¼Óµ½º¯ÊýÒýÓã¨this)ÉÏ£¬ÎÒÃÇÒ²²»Äܹ»ÒýÓÃÕâ¸ö±äÁ¿¡£Îª´ËÎÒÃÇÒª¶Ô֮ǰµÄʾÀý×öÒ»ÏÂÇá΢µÄ¸Ä¶¯¡£Ëü¿´ÆðÀ´»áÏñÏÂÃæÕâÑù:

thing = (function(){  // 1.
this.isDoingWork = false; // 2.
console.log("isDoingWork value : " + isDoingWork);
return this; // 3.
}());

Äã¿ÉÒÔ¿´µ½µÚÒ»ÐÐÎÒÃǼÓÈëÁËÒ»¸öеÄÈ«¾Ö±äÁ¿thing£¬Ëü°üº¬ÁË´ÓÄäÃûº¯Êý·µ»ØµÄÖµ¡£´ÓʾÀý´úÂëµÄ¿ªÍ·Ìøµ½µÚÈýÐУ¬Äã¿ÉÒÔ¿´µ½ÎÒÃÇ·µ»ØÁËthis±äÁ¿¡£ÄǾÍÒâζ×ÅÎÒÃÇ·µ»ØÁËÒ»¸öÖ¸ÏòÄäÃûº¯ÊýµÄÒýÓÃ.

ÔÚµÚ¶þÐÐÎÒÃÇÒ²ÒѾ­½«isDoingWork¼ÓÈëÁËthisÒýÓÃÖУ¬ÄÇÑùÎÒÃǾͿÉÒÔʹÓÃÓï·¨thing.isDoingWorkÀ´´ÓÍⲿÒýÓõ½Õâ¸öÖµÁË.

×Ô¼º¶¯ÊÖ¿´¿´

ΪÁË¿´¿´µÄÔËÐУ¬Äã¿ÉÒÔ×öÏÂÃæÕ⼸²½:

1.ÏÂÔØ±¾ÎĵÄʾÀý´úÂë.

2.ÔÚÄãµÄä¯ÀÀÆ÷Öдò¿ª modulePattern4.htm.

3.´ò¿ªä¯ÀÀÆ÷¿ª·¢¹¤¾ß -- F12(Chrome, IE) »òÕß Ctrl-Shift-I (Opera) -- (ÄÇÑùÄã¾Í¿ÉÒÔ¿´µ½¿ØÖÆÌ¨ÁË)

4.Ä㽫»á¿´µ½isDoingWorkµÄÖµ»áÊä³öµ½¿ØÖÆÌ¨£¬¾ÍÏñ×ʼÄǸöʾÀýÖÐÄã¿´µ½µÄÄÇÑù.

5.²»¹ý£¬ÏÖÔÚÄãµÃÊäÈëthing.isDoingWork²ÅÄÜ»òÕßÕâ¸öÖµ.

Ä£¿éģʽ×ܽá

ÔÚ×îºóÕâ¸öʾÀýÖУ¬±äÁ¿Öµ±»³É¹¦µÄ·â×°ÁË£¬¶øÆäËûµÄJavaScript¿âÔò¿ÉÒÔÃ÷È·µÄÒýÓÃthing¶ÔÏóÀ´»ñÈ¡Õâ¸öÖµ. ºÃÏñ²»´ó¿ÉÄÜ£¬¶øÕâ°ïÖúÁËÎÒÃDZ£³ÖÈ«¾ÖÃüÃû¿Õ¼äµÄ¸É¾»£¬²¢ÇÒÔÚ¿´Æð¿´À´ÊǸüºÃµÄ´úÂë×éÖ¯ÐÎʽ. ÕâҲʹµÃÎÒÃÇ´úÂëµÄά»¤¸üÈÝÒ×.

×îÖÕ£¬ÎÒÃÇÓÃÉÏÁË AngularJS

ÒòΪʹÓÃÄ£¿éģʽÊÇÒ»¸ö×î¼Ñʵ¼ù£¬AngularJSµÄ¿ª·¢Õ߾ͽ«Ò»¸öÄ£¿éϵͳ¹¹½¨µ½ÁË¿âÖÐ.

Plunker ´úÂë

Ê×ÏÈÄã¿ÉÒÔͨ¹ýµ½Õâ¸öPlunkerÉÏ (http://plnkr.co/edit/js8rbKpIuAuePzLF2DcP?p=preview - ÔÚÒ»¸öеĴ°¿Ú»òTabÒ³´ò¿ª)»ñÈ¡Õû¸öAngularJSʾÀý.

¶øÎÒÃÇÔÚÕâÀïչʾ³ö´úÂ룬ÄÇÑùÎÒÃǾͿÉÒÔ¸ü·½±ãµÄ̸ÂÛËüÁË.

Ê×ÏÈ£¬ÈÃÎÒÃÇ¿´¿´Õâ¸ö HTML.

<!DOCTYPE html>
<html ng-app="mainApp">

<head>
<meta charset="utf-8" />
<title>Angular Module Example</title>
<script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.20/angular.js" data-semver="1.2.20"></script>
<script src="mainCtrl.js"></script>
<script src="secondCtrl.js"></script>
</head>

<body>
<div ng-controller="MainCtrl as mc">
<p>mc refers to MainCtrl which has
been added to the angular app module</p>
<p>Hello {{mc.name}}!</p>
<ol><li ng-repeat="a in mc.allThings">{{a}}</li></ol>
</div>
<div ng-controller="SecondCtrl as sc">
<p>
Hello {{sc.name}}
</p>
<ol><li ng-repeat="a in sc.allThings">{{a}}</li></ol>
</div>
</body>

</html>

Angular Ö¸Áî : ng-app

Angular Ëù¶¨ÒåºÍʹÓõĶ«Î÷½Ð×öÖ¸Áî¡£ÕâЩָÁî»ù±¾ÉϾÍÊÇÓÉAngular¶¨ÒåÊôÐÔ£¬¶øAngularJS±àÒëÆ÷£¨AngularµÄJavaScript£©»á½«ËüÃÇת»»³ÉÆäËûµÄ¶«Î÷.

ÎÒÃÇÓ¦ÓÃÁËng-appÖ¸ÁΪÎÒÃǵÄAngularÓ¦Óö¨ÒåÁËÒ»¸öÃû³Æ£¬½Ð×ömainApp.

mainApp ¾ÍÊÇÎÒÃÇÉÔºó»á¿´µ½µÄÄ£¿éģʽµÄÆðµã.

±»ÒýÈëµÄ½Å±¾ : ÿ¸ö¶¼ÊÇÒ»¸öÄ£¿é

ÏÖÔÚ£¬Çë×¢ÒâÓÐÈý¸ö½Å±¾±»ÒýÈëµ½ÁËÕâ¸öHTMLÖÐ.

µÚÒ»¸öÊDZØÐëµÄAngularJS¿â.

¶øÆäËûÁ½¸öÔòÊÇ×÷Ϊģ¿é±»ÊµÏÖµÄAngular¿ØÖÆÆ÷.

ËüÃDZ»×÷Ϊģ¿éʵÏÖÒÔ±£³Ö´úÂë±Ë´Ë£¬»¹ÓдÓÕâ¸öÓ¦ÓÃÉÏ¿´£¬¶¼ÊǶÀÁ¢µÄ.

AngularJS : ´´½¨ score

ÔÚÍùÏ¿´£¬Ä㽫»á¿´µ½Á½¸öÒÔÈçÏ´úÂ뿪ͷµÄdiv:

<div ng-controller="MainCtrl as mc">
<div ng-controller="SecondCtrl as sc">

ÕâÊÇÔÚΪdivµÄÿһ¸ö¶¼ÉèÖÃÉÏng-controller. ÕâЩdivÖеÄÿһ¸ö¶¼ÓÐÆä¸÷×Եķ¶Î§. µÚÒ»¸ö¿ØÖÆÆ÷µÄÃû×Ö½Ð×ö MainCtrl£¬µÚ¶þ¸ö½Ð×ö SecondCtrl.

AngularJS ±àÒëÆ÷»áÔÚÄãÌṩ£¨ÒýÈ룩µÄ´úÂëÖÐÓÃÕâÁ½¸öÃû³Æ²éÕÒ¶ÔÓ¦µÄº¯Êý.

Èç¹ûAngularJS±àÒëÆ÷ûÓÐÕÒ¸öÕâÁ½¸öÃû³Æ¶ÔÓ¦µÄº¯Êý£¬Ëü¾Í»áÅ׳öÒ»¸ö´íÎó.

mainCtrl.js : µÚÒ»¸ö¿ØÖÆÆ÷

ÈÃÎÒÃÇÀ´¿´¿´mainCtrl.jsÎļþÀïÃæÓÐЩɶ¶«Î÷.

Äã¿ÉÒÔÔÚPlunkerÒ³ÃæµÄ×ó²àµã»÷ËüÔÚPlunkerÖн«Æä´ò¿ª.

µ±Äã´ò¿ªÁËËü£¬Ä㽫»á¿´µ½Ò»Ð©¿´ÉÏÈ¥ºÜÊìϤµÄ´úÂë¡£ºÃ°É£¬ÄãÖÁÉٻῴ³öÀ´ËüÃǶ¼ÊDZ»°üÔÚÒ»¸öIIFEÖеÄ.

(function() {

var app = angular.module(&apos;mainApp&apos;, []);

app.controller(&apos;MainCtrl&apos;, function() {
console.log("in MainCtrl...");
// vt = virtual this - just shorthand
vt = this;
vt.name = &apos;MainCtrl&apos;;
vt.allThings = ["first", "second", "third"];

});
})();

ÄÇÊÇÒòΪÎÒÃÇÐèÒªÕâЩ´úÂëÔÚÎļþmainCtrl.js±»¼ÓÔØÊ±¾ÍÔËÐÐ.

ÏÖÔÚ£¬Çë×¢ÒâÔÚÕâ¸öIIFEÖеĵÚÒ»ÐдúÂë.

var app = angular.module(&apos;mainApp&apos;, []);

ÕâÐдúÂëÊÇAngular½«Ò»¸öÄ£¿éÌí¼Óµ½ÆäÃüÃû¿Õ¼äµÄ·½Ê½. ÔÚÕâÀÎÒÃÇÌí¼ÓÁËÒ»¸ö½«ÓÃÀ´Õ¹Ê¾ÎÒÃÇÓ¦ÓóÌÐòµÄÄ£¿é. ÕâÊÇÓ¦ÓóÌÐòµÄÄ£¿é£¬¶øÎÒÃÇÒѾ­½«ÆäÃüÃûΪ itmainApp, Ëü¸úHTMLÒ³ÃæÉÏng-appËùÖ¸¶¨µÄÖµÊÇÒ»ÑùµÄ.

ÎÒÃÇÒ²´´½¨ÁËÒ»¸ö½Ð×öappµÄ£¨Ö»ÔÚIIFE±¾µØ¿É¼ûµÄ£©±¾µØ±äÁ¿£¬ÒÔ±ãÎÒÃǽ«¿ÉÒÔÔÚÕâ¸öº¯ÊýÄÚ²¿ÓÃÀ´ÔÙ´ÎÌí¼ÓÒ»¸ö¿ØÖÆÆ÷.

Ææ¹ÖµÄ Angular Óï·¨

ÇëÄãÒ²ÒªÔÙ×Ðϸ¿´¿´µÚÒ»ÐС£Äã»á×¢Òâµ½ÎÒÃÇÊÇÊ״δ´½¨mainAppÄ£¿é£¬¶øÈç¹ûÊÇÊ״Σ¬ÔòÎÒÃDZØÐëÌṩÒÔ×Ö·û´®Êý×éµÄÐÎʽÌṩÆä¿ÉÄÜÐèÒªµÄÈκÎÒÀÀµ(£¬±íʾ³öÒÀÀµ¿âµÄÃû³Æ). ²»¹ý£¬ÔÚÕâÀï¶ÔÓÚÕâ¸ö¼òµ¥µÄʾÀý¶øÑÔ£¬ÎÒÃDz»ÐèÒªÈκεÄÒÀÀµ¡£µ«AngularÈÔÈ»ÐèÒªÎÒÃÇ´«ÈëÒ»¸ö¿ÕµÄÊý×飬ÒÔ±ãËüÖªÏþÎÒÃÇÕýÔÚ´´½¨ÐµÄÄ£¿é£¬¶ø²»ÊÇÈ¥ÊÔͼ¼ÓÔØÒ»¸öÒѾ­±»´´½¨ºÃÁ˵ÄÄ£¿é.

Ìáʾ: Ä㽫»á¿´µ½ÎÒÃÇ»áÔÚsecondCtrl.jsÀï¼ÓÔØmainAppÄ£¿é£¬¶øÉÏÃæËùÌáµÄÊý×齫»áÓиü¶àµÄ×÷ÓÃ.

ÎÒÃÇÒ»°ÑmainApp´´½¨ºÃ£¬¾ÍÐèÒªÏòÆäÌí¼ÓÎÒÃǵĿØÖÆÆ÷. ÕâЩ¾ÍÊÇAngularÔ¤ÆÚÎÒÃÇÔÚHTML£¨µÄdivÖУ©¼ÓÈëµÄ¿ØÖÆÆ÷.

½«¿ØÖÆÆ÷Ìí¼Óµ½AppÄ£¿é

Ìí¼Ó¿ØÖÆÆ÷µÄ´úÂë¿´ÆðÀ´ÏñÏÂÃæÕâÑù:

app.controller(&apos;MainCtrl&apos;, function() {
console.log("in MainCtrl...");
// vt = virtual this - just shorthand
vt = this;
vt.name = &apos;MainCtrl&apos;;
vt.allThings = ["first", "second", "third"];

});

ΪÁËÌí¼ÓÎÒÃǵĿØÖÆÆ÷º¯Êý£¬ÎÒÃÇÏòapp.controller()º¯ÊýÌṩÁËÒ»¸ö¿ØÖÆÆ÷Ãû³ÆºÍÒ»¸öº¯Êý. ÔÚ´Ë´¦ÎÒÃÇÌṩÁËÒ»¸öÄäÃûº¯Êý.

ËùÒÔ£¬ÎÒÃǵĿØÖÆÆ÷Ö÷Ìå´úÂë¾ÍÊÇÏÂÃæÕ⼸ÐÐÁË:

console.log("in MainCtrl...");
// vt = virtual this - just shorthand
vt = this;
vt.name = &apos;MainCtrl&apos;;
vt.allThings = ["first", "second", "third"];

ÕâÀµ±ÎÒÃǵĿØÖÆÆ÷ÔËÐÐʱ£¬»áÏò¿ØÖÆÌ¨Êä³öÒ»ÐÐ. È»ºó£¬ÎÒÃǽ«this±äÁ¿ÖØÃüÃûΪvt£¨·½±ãÆð¼û£¬¾Í½ÐËûÐéÄâµÄthis) £¬¶øºóÎÒÌìΪÆäÌí¼ÓÁËÒ»¸önameÊôÐÔºÍÒ»¸ö½Ð×öallThings µÄ×Ö·û´®Êý×é.

¿ØÖÆÆ÷ºÍ·â×°

ÄǾÍÊǵ±¿ØÖÆÆ÷±»Angularµ÷ÓÃʱ»áÔËÐеĴúÂë. ÄǸö¿ØÖÆÆ÷»áÔÚÎļþ±»¼ÓÔØÊ±ÔËÐÐÆðÀ´£¬Ò²¾ÍÊÇÒ»¿ªÊ¼HTML±»¼ÓÔØµÄʱºò. ÕâÒâζ×Å¿ØÖÆÆ÷»á±»¼ÓÔØµ½appÄ£¿éÖУ¬¶øÕâЩÊôÐԻᱻÌí¼Óµ½¿ØÖÆÆ÷¶ÔÏ󣨺¯Êý£©ÖС£ÒòΪÎÒÃÇÏëthis±äÁ¿Ìí¼ÓÁËÊôÐÔ£¬ÎÒÃǾͿÉÒÔÔÚÉÔºó»ñÈ¡ÕâЩÊôÐÔ£¬µ«ËüÃÇÊDZ»·â×°ÁËÆðÀ´µÄ£¬Òò´ËËüÃDz»¿ÉÒÔ±»Ã¿¸öÈËËæÒâµÄ¸ü¸Ä.

ÏÖÔÚ£¬ÈÃÎÒÃÇÌøµ½HTMLÖпØÖÆÆ÷±»ÒýÓúÍʹÓõĵط½.

µÚÒ»¸öDiv

ÕâÊÇÎÒÃǵÄMainCtrl¿ØÖÆÆ÷±»ÒýÓúÍʹÓõĵÚÒ»¸öDiv¡£Ëü¿´ÆðÀ´¾ÍÏñÏÂÃæÕâÑù:

<div ng-controller="MainCtrl as mc">
<p>mc refers to MainCtrl which has
been added to the angular app module</p>
<p>Hello {{mc.name}}!</p>
<ol><li ng-repeat="a in mc.allThings">{{a}}</li></ol>
</div>

Õâ¸ödivÊä³öÎÒÃǵÄwebÒ³ÃæµÄÈçϲ¿·Ö£¬¿´ÆðÀ´¾ÍÊǽÓÏÂÀ´ÕâÕÅͼƬÉÏËùչʾµÄÄÇÑù.

Êä³ö±»Ê¹ÓÃAngularÖ¸ÁîÀ´´´½¨

²»¹ý£¬ËüʹÓÃÁËÒ»ÖÖÌØÊâµÄ·½Ê½´´½¨ÄǸöÊä³ö£¬ËüʹÓÃÁËÁ½ÖÖAngularÖ¸Áî:

1.{{mc.name}}

2.ng-repeat

µÚÒ»¸öÖ¸Áî±»¹ØÁªµ½ÁËDivÄÇÒ»ÐÐÉÏÃæMainCtrlµÄÉùÃ÷ºÍÒýÓÃ. ÎÒÃǸæËßAngular£¬ËµÎÒÃÇÏëÒÔmcÕâ¸öÃû³ÆÒýÓÃÎÒÃǵÄMainCtrlº¯Êý£¨¶ÔÏ󣩡£ÄǾÍÊÇAngularÌṩµÄÒ»¸öºÜ°ôµÄËõд¹¦ÄÜ.

ÏÖÔÚ£¬ÒòΪÎÒÃǽ«Ò»¸öÊôÐԷŵ½ÁËMainCtrlµÄthis¶ÔÏóÉÏ£¬ÎÒÃÇÏÖÔھͿÉÒÔͨ¹ýmcºÍÊôÐÔµÄÃû³ÆÀ´ÒýÓÃÄÇЩ¶«Î÷ÁË¡£ÎÒÃǽ«ÄÇЩ¶«Î÷°üº¬ÌØÊâµÄË«´óÀ¨ºÅ{{ }}ÀïÃæ£¬Èç´ËAngular±àÒëÆ÷¾Í¶®µÃÄÇÊÇ¿ÉÒÔÔËÐеĴúÂ룬Äã¾Í»áÇÆ¼ûAngular½«Æäת»»³ÉÁËHTML:

<p>Hello {{mc.name}}!</p>

±à³ÌÁËÏÂÃæÕâÒ»:

<li ng-repeat="a in mc.allThings">{{a}}</li>

Ö®ºó£¬ÎÒÃÇÉèÖÃÁËÒ»¸öƯÁÁµÄÎÞÐèÁÐ±í£¬²¢Ê¹ÓÃÁËng-repeatÖ¸ÁîÀ´µü´úÊä³öÊý×éÖеÄÿһÐÐ.

È»ºóAngularµøµ¹ÁËÕû¸öallThingsÊý×飬²¢½«Æä×°»»³ÉÁËÏÂÃæµÄHTML

1.first
2. second
3. third

±ä³ÉÁËÈçϵÄÊä³ö

(function() {

var app = angular.module(&apos;mainApp&apos;);

app.controller(&apos;SecondCtrl&apos;, function() {
console.log("in SecondCtrl...");
// vt = virtual this - just shorthand
vt = this;
vt.name = &apos;SecondCtrl&apos;;
vt.allThings = ["bacon", "lettuce", "tomato"];

});
})();

¾ÍÄÇô¼òµ¥¡£Õâ¾ÍÊÇÄ£¿é»¯µÄËùÓж«Î÷£¬ÎÒÃǵÄÖµÔÙÒ²²»»á±»ÈκÎÈ˶¯ÊÖ¶¯½ÅÁË.

SecondCtrl : ¼¸ºõ¾ÍÊÇͬÑùµÄ¶«Î÷

ÕâÀïÓÐSecondCtrlµÄ´úÂë. ´úÂë»ú»á¾ÍÊÇÒ»ÑùµÄ£¬³ýÁËÎÒÃÇ»ñÈ¡ÎÒÂúÔ­À´µÄappÄ£¿é´¦Óе㲻һÑù¡ª¡ª²»ÊǵÚÒ»´Î´´½¨ËüÁË.

(function() {

var app = angular.module(&apos;mainApp&apos;);

app.controller(&apos;SecondCtrl&apos;, function() {
console.log("in SecondCtrl...");
// vt = virtual this - just shorthand
vt = this;
vt.name = &apos;SecondCtrl&apos;;
vt.allThings = ["bacon", "lettuce", "tomato"];

});
})();

×Ðϸ¿´¿´ÏÂÃæÕâÒ»ÐÐ:

var app = angular.module(&apos;mainApp&apos;);

ΨһµÄ²»Í¬¾ÍÊÇÎÒÃÇûÓÐÌṩÒýÓÃÊý×é.

ÄÇÊÇÒòΪmainAppÒѾ­ÊÇ´æÔÚÁ˵쬶øÎÒÃÇÖ»ÊÇÏëÏòÆäÌí¼ÓÁíÍâÒ»¸öÐÂÄ£¿é (SecondCtrl) .

×ܽ᣺×î¼Ñʵ¼ù

ËùÓÐÆäËüµÄ½Å±¾ÖеĴúÂ룬ÒÔ¼°HTML»ù±¾ÉÏÊÇÒ»ÑùµÄ,¶ø´Ë´¦×îÖØÒªµÄÊÇËùÓеĴúÂë¶¼±»Ä£¿é»¯ÁË£¬Êý¾ÝÒ²±»·â×°ÁËÆðÀ´£¬ÒÔ±ã¸üºÃµÄ×éÖ¯ÎÒÃǵĴúÂë. ÕâÊÇGoogleÈí¼þ¿ª·¢Õß×ñÑ­µÄÒ»¸ö×î¼Ñʵ¼ù£¬Ò²ÊÇÎÒÃÇÓ¦¸Ã×ñÑ­µÄ¡£ÇëѧϰËû£¬ÔËÓÃËü£¬²¢ÓëËüͬÔÚ°É£¨°¢ÃÅ£©.

   
3636 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Àí½âJavascript
·ÇµäÐÍajaxʵ¼ù
³¹µ×µÄAjax
javascript ʹÓÃCookies
ʹÓà jQuery ¼ò»¯ Ajax ¿ª·¢


Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ


ijº½¿Õ¹«Ë¾IT²¿ JavaScriptʵ¼ù
ijµçÊÓÈí¼þ HTML5ºÍJavaScript
Öк½ÐÅ JavaScript¸ß¼¶Ó¦Óÿª·¢
´óÇìÓÍÌï web½çÃæAjax¿ª·¢¼¼Êõ
ºÍÀûʱ ʹÓÃAJAX½øÐÐWEBÓ¦Óÿª·¢