{"id":3699,"date":"2015-04-06T16:03:17","date_gmt":"2015-04-06T08:03:17","guid":{"rendered":"https:\/\/sdeno.com\/?p=3699"},"modified":"2017-07-26T14:01:15","modified_gmt":"2017-07-26T06:01:15","slug":"avalonjs%e7%ac%94%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/sdeno.com\/?p=3699","title":{"rendered":"avalonjs\u7b14\u8bb0"},"content":{"rendered":"<p>avalon\u7b14\u8bb0<\/p>\n<p>\u2605\u65e0\u804a\u901b\u901b\u770b\u770b\u5df2\u7ecf\u89e3\u51b3\u7684\u95ee\u9898\u548c\u4e00\u4e9b\u6848\u4f8b\uff1a<a href=\"https:\/\/github.com\/RubyLouvre\/avalon\/issues?q=is%3Aissue+is%3Aclosed\" target=\"_blank\">https:\/\/github.com\/RubyLouvre\/avalon\/issues?q=is%3Aissue+is%3Aclosed<\/a><\/p>\n<p>avalon\u5404\u7248\u672c\uff1a<a href=\"http:\/\/www.bootcdn.cn\/avalon.js\/\" target=\"_blank\">http:\/\/www.bootcdn.cn\/avalon.js\/<\/a><\/p>\n<p>\u76ee\u524d\u6700\u65b01.5.8\u4e0b\u8f7d\uff1a<a href=\"https:\/\/sdeno.com\/?attachment_id=5451\" rel=\"attachment wp-att-5451\">avalon.shim.min<\/a><\/p>\n<pre>$id \/\/\u76d1\u542c\u533a\u57df\u7684ID\r\n$skipArray \r\n$watch\r\n$event \/\/\u4e8b\u4ef6\u91cc\u5185\u7f6e\u7684 event\u5bf9\u8c61\r\nvm.$model \/\/\u83b7\u53d6\u5230 \u89c6\u56fe\u6a21\u5757\u5bf9\u8c61\u4e2d\u7684\u6240\u6709\u5c5e\u6027\u548c\u65b9\u6cd5\u9664\u4e86\u5e26\u6709$\u7b26\u53f7\u7684\uff0c\u8fd4\u56de\u4e00\u4e2a\u5bf9\u8c61\u3002\r\n$outer\r\n$computed  \/\/\u8ba1\u7b97\u5c5e\u6027 \u611f\u89c9\u6ca1\u4ec0\u4e48\u75282.0\u7684\u65f6\u5019\u5e9f\u9664\u4e86\r\navalon.vmodels \/\/ \u4e00\u4e9b\u5168\u5c40$\u5c5e\u6027\r\n\u904d\u5386\r\nms-repeat\r\n$key, $val, $index, $last, $first, $remove<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>avalon\u6bd4jquery\u4f18\u79c0\u4e4b\u5904\u5c31\u5728\u4e8e\uff0cavalon\u4e0d\u7528\u53bb\u83b7\u53d6\u8fc7\u591a\u7684DOM\u8282\u70b9\u5982\u56fe:<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/jqava.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:691px\"><div style=\"padding-top:56.150506512301%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"691\" height=\"388\" class=\"alignnone size-full wp-image-3893 lazyload\" title=\"jqava\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/jqava.jpg\" alt=\"jqava\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/jqava.jpg 691w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/jqava-300x168.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/jqava-624x350.jpg 624w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\"><\/figure><\/a>\n<p><span style=\"color: #ff0000;\">avalon\u4f5c\u7528\u57df:<\/span><\/p>\n<p>ms-controller<br \/>\n\u5b50\u8282\u70b9\u5982\u679c\u627e\u4e0d\u5230\u8868\u8fbe\u5f0f\u53ef\u4ee5\u5f80\u7236\u7ea7\u4e0a\u5bfb\u627e<\/p>\n<p>ms-important<br \/>\n\u5b50\u8282\u70b9\u5982\u679c\u627e\u4e0d\u5230\u8868\u8fbe\uff0c\u4e5f\u4e0d\u4f1a\u5f80\u7236\u7ea7\u4e0a\u5bfb\u627e<\/p>\n<p>ms-skip<br \/>\n\u6b64\u4f5c\u7528\u57df\u4e0b\u7684\u8868\u8fbe\u5f0f\u4e0d\u5de5\u4f5c<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">avalon.ready<\/span><\/p>\n<pre>avalon.ready(function(){ \/\/HTML\u7684DOM\u8282\u70b9\u52a0\u8f7d\u5b8c\u5c31\u53ef\u4ee5\u8fd0\u884c\u4ee3\u7801\r\n\r\n   \/\/1.4.*\u53ef\u4ee5\u4f7f\u7528\u65b0\u65e7\u4e24\u79cd\u98ce\u683c\u5b9a\u4e49VM,\u63a8\u8350\u4f7f\u7528\u4ee5\u4e0b\u98ce\u683c\r\n   var vm=avalon.define({\r\n       \/\/avalon\u4ee3\u7801\r\n   });\r\n   avalon.scan(document.body); \/\/\u4ee3\u7801\u7684\u6700\u540e\u626b\u63cf\u5de5\u4f5c\r\n});<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u67e5\u770b\u7248\u672c\u53f7<\/span><\/p>\n<p>avalon.version<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u906e\u4e11<\/span><\/p>\n<pre>.ms-controller,.ms-important,[ms-controller],[ms-important]{\r\n   visibility: hidden;\r\n}\r\n\r\n&lt;div ms-controller=\"test\" class=\"ms-controller\"&gt;{{aaa}}&lt;\/div&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n<span style=\"color: #ff0000;\">\u8868\u8fbe\u5f0f:<\/span> \u53ef\u4ee5\u7406\u89e3\u6210\u5c06\u6570\u636e\u6253\u5370\u5230\u9875\u9762\u4e0a\uff0c\u4ee3\u7801\u5982\u4e0b:<br \/>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/value.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:311px\"><div style=\"padding-top:81.993569131833%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"311\" height=\"255\" class=\"alignnone size-full wp-image-3700 lazyload\" title=\"{{value}}\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/value.jpg\" alt=\"{{value}}\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/value.jpg 311w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/value-300x245.jpg 300w\" sizes=\"auto, (max-width: 311px) 100vw, 311px\"><\/figure><\/a><br \/>\n\u9ed8\u8ba4{{value}}<\/p>\n<p>\u9047\u5230\u590d\u6742\u4e00\u70b9\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5c31\u50cf\u4ee5\u5f80\u83b7\u53d6js\u65b9\u6cd5\u4e00\u6837\u4f7f\u7528\u5982\uff1a<\/p>\n<pre>obj:[{name:'\u9648\u9648',age:123}]\r\n\r\n&lt;p&gt;{{obj[0].name}}&lt;\/p&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u914d\u7f6econfig<\/span><\/p>\n<p>\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u8868\u8fbe\u5f0f\u7b26\u53f7<\/p>\n<pre>avalon.config({\r\n  interpolate:['[[',']]']\r\n});<\/pre>\n<p>\u7ed3\u679c[[value]]<\/p>\n<p>&nbsp;<\/p>\n<pre>\/\/\u6b63\u5f0f\u4e0a\u7ebf\u65f6\uff0c\u5173\u95ed\u63a7\u5236\u53f0\u7684\u9519\u8bef\u63d0\u793a\r\navalon.config({\r\n debug: false  \r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u4e3avm\u6dfb\u52a0\u5c5e\u6027\u3001\u548c\u65b9\u6cd5<\/span><\/p>\n<pre>\/\/\u4e3avm\u6dfb\u52a0\u5c5e\u6027\u3001\u548c\u65b9\u6cd5\u4e4b\u524d\u5fc5\u987b\u5148\u5728vm\u4e2d\u58f0\u660e\u597d\u5c5e\u6027\u540d\u548c\u7c7b\u578b\r\nvar vm=define({\r\n  $id:'ceshi',\r\n  fun:avalon.noop(),  \/\/\u5b9a\u4e49\u4e00\u4e2a\u7a7a\u7684function,\u4e5f\u53ef\u4ee5\u8fd9\u4e48\u5199  fun:function(){},\u8bf4\u660efun\u5c5e\u6027\u540d\u662f\u4e00\u4e2afunction\u7c7b\u578b\r\n  name:'',  \/\/\u58f0\u660e\u4e00\u4e2aname\u5c5e\u6027\u540d,\u7c7b\u578b\u4e3a\u5b57\u7b26\u4e32\r\n  arr:[]\r\n});\r\n\r\n\/\/\u6dfb\u52a0\u65b9\u6cd5\r\nvm.fun=function(){\r\n   \/\/\u4ee3\u7801\r\n}\r\n\r\n\/\/\u6dfb\u52a0\u5c5e\u6027\r\nvm.name='\u9648\u9648';\r\n\r\n\/\/\u6dfb\u52a0\u5c5e\u6027\r\nvm.arr=[1,2];<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u5176\u5b9e\u8868\u8fbe\u5f0f{{value}}\u7684\u539f\u578b\u8c03\u7528\u7684\u662fms-test<br \/>\nms-test \u53ea\u80fd\u5c06\u7eaf\u6587\u672c\u6253\u5370\u5230\u9875\u9762\u4e0a,<\/p>\n<p>\u8868\u8fbe\u5f0f\u8fd8\u6709\u8fc7\u6ee4\u5668\u529f\u80fd\u5982\uff1a<br \/>\n{{value | html}}<br \/>\n\u4e5f\u5c31\u662f\u5c06\u5b57\u7b26\u4e32\u4e2d\u5e26\u6709html\u6807\u7b7e\u89e3\u6790\u51fa\u6765\uff0c\u5982\u4e0b\u4ee3\u7801\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-texthtml.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:426px\"><div style=\"padding-top:73.474178403756%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"426\" height=\"313\" class=\"alignnone size-full wp-image-3701 lazyload\" title=\"ms-text&amp;html\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-texthtml.jpg\" alt=\"ms-text&amp;html\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-texthtml.jpg 426w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-texthtml-300x220.jpg 300w\" sizes=\"auto, (max-width: 426px) 100vw, 426px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>ms-value\u5bf9\u8868\u5355\u5143\u7d20value\u7684\u8bbe\u7f6e<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-value.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:582px\"><div style=\"padding-top:53.780068728522%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"582\" height=\"313\" class=\"alignnone size-full wp-image-3702 lazyload\" title=\"ms-value\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-value.jpg\" alt=\"ms-value\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-value.jpg 582w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-value-300x161.jpg 300w\" sizes=\"auto, (max-width: 582px) 100vw, 582px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p><span style=\"color: #ff0000;\">\u8fc7\u6ee4\u5668<\/span>\u8fc7\u6ee4\u5668\u53ea\u80fd\u652f\u6301{{}}\u8fd9\u79cd\u8868\u8fbe\u5f0f<\/p>\n<p>JS\u4ee3\u7801\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi1.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:731px\"><div style=\"padding-top:51.709986320109%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"731\" height=\"378\" class=\"alignnone size-full wp-image-3703 lazyload\" title=\"guolvqi1\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi1.jpg\" alt=\"guolvqi1\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi1.jpg 731w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi1-300x155.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi1-624x322.jpg 624w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\"><\/figure><\/a>\n<p>HTML\u4ee3\u7801\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi2.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:643px\"><div style=\"padding-top:66.251944012442%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"643\" height=\"426\" class=\"alignnone size-full wp-image-3704 lazyload\" title=\"guolvqi2\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi2.jpg\" alt=\"guolvqi2\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi2.jpg 643w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi2-300x198.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi2-624x413.jpg 624w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\"><\/figure><\/a>\n<p>\u8f93\u51fa\u5185\u5bb9\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi3.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:413px\"><div style=\"padding-top:101.45278450363%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"413\" height=\"419\" class=\"alignnone size-full wp-image-3705 lazyload\" title=\"guolvqi3\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi3.jpg\" alt=\"guolvqi3\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi3.jpg 413w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi3-295x300.jpg 295w\" sizes=\"auto, (max-width: 413px) 100vw, 413px\"><\/figure><\/a>\n<p>\u4e5f\u53ef\u4ee5\u591a\u4e2a\u8fc7\u6ee4\u5668\u4f7f\u7528<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi4.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:415px\"><div style=\"padding-top:9.8795180722892%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"415\" height=\"41\" class=\"alignnone size-full wp-image-3706 lazyload\" title=\"guolvqi4\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi4.jpg\" alt=\"guolvqi4\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi4.jpg 415w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/guolvqi4-300x29.jpg 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\"><\/figure><\/a>\n<p>\u81ea\u5b9a\u4e49\u8fc7\u6ee4\u5668<\/p>\n<pre>avalon.filters.xxx=function(str,\u53c2\u65701,\u53c2\u65702){\r\n   return{\r\n     'jpy':'\u65e5\u5143'\r\n   }[str]\r\n}\r\navalon.ready(function(){\r\n});<\/pre>\n<pre>\u8c03\u7528\uff1a{{\"jpy\" | xxx}}   \/\/\u65e5\u5143<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">ms-duplex<\/span>\u53cc\u5411\u6570\u636e\u7ed1\u5b9a \uff08\u5b83\u53ea\u7ed1\u5b9a\u5728\u8868\u5355\u5143\u7d20\uff0cinput, textarea, select\uff0c\u5176\u5b9ems-duplex\u8bbe\u7f6e\u7684\u503c\u4e5f\u5c31\u662f\u8868\u5355\u5143\u7d20\u7684value\u503c\uff09<\/p>\n<pre>&lt;input type=\"text\" ms-duplex=\"username\"&gt;\r\n&lt;input type=\"password\" ms-duplex=\"password\"&gt;\r\n&lt;textarea ms-duplex=\"profile\"&gt;&lt;\/textarea&gt;<\/pre>\n<p>\u8981\u6c42\u4ee5\u4e0a3\u79cd\u7684ms-duplex\u503c\u662f\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u4f7f\u7528ms-duplex-string\u4ee3\u66ff\uff0c\u5982\u56fe\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/str_ms-duplex.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:522px\"><div style=\"padding-top:72.222222222222%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"522\" height=\"377\" class=\"alignnone size-full wp-image-3711 lazyload\" title=\"str_ms-duplex\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/str_ms-duplex.jpg\" alt=\"str_ms-duplex\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/str_ms-duplex.jpg 522w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/str_ms-duplex-300x216.jpg 300w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\"><\/figure><\/a>\n<p>ms-duplex\u7684\u503c\u8981\u6c42type=&#8221;radio&#8221;\u7c7b\u578b\u662f\u5e03\u5c14\u503c\uff0c\u53ef\u4ee5\u4f7f\u7528ms-duplex-boolean\u4ee3\u66ff\uff0c\u5982\u56fe\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/bool_ms-duplex.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:502px\"><div style=\"padding-top:66.334661354582%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"502\" height=\"333\" class=\"alignnone size-full wp-image-3712 lazyload\" title=\"bool_ms-duplex\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/bool_ms-duplex.jpg\" alt=\"bool_ms-duplex\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/bool_ms-duplex.jpg 502w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/bool_ms-duplex-300x199.jpg 300w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\"><\/figure><\/a>\n<p>ms-duplex\u7684\u503c\u8981\u6c42type=&#8221;checkbox&#8221;\u7c7b\u578b\u662f\u6570\u7ec4\uff0c\u53ef\u4ee5\u4f7f\u7528ms-duplex-checked\u4ee3\u66ff\uff0c\u5982\u56fe\uff1a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/checkbox_ms-duplex.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:755px\"><div style=\"padding-top:50.46357615894%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"755\" height=\"381\" class=\"alignnone size-full wp-image-3713 lazyload\" title=\"checkbox_ms-duplex\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/checkbox_ms-duplex.jpg\" alt=\"checkbox_ms-duplex\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/checkbox_ms-duplex.jpg 755w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/checkbox_ms-duplex-300x151.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/checkbox_ms-duplex-624x314.jpg 624w\" sizes=\"auto, (max-width: 755px) 100vw, 755px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>&lt;select ms-duplex=&#8221;hotel&#8221;&gt;\u5355\u9009\u7c7b\u578b ms-duplex\u7684\u503c\u8981\u6c42\u4e3a\u5b57\u7b26\u4e32<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;select ms-duplex=&#8221;hotel&#8221; multiple=&#8221;true&#8221;&gt;\u52a0\u4e86\u591a\u9009\u5c5e\u6027ms-duplex\u7684\u503c\u8981\u6c42\u4e3a\u6570\u7ec4<\/p>\n<p>multiple=&#8221;true&#8221; \u00a0 \/\/avalon\u628a\u81ea\u5b9a\u4e49\u7684hotel\u7684\u503c\u89c6\u4e3a\u6570\u7ec4 \u00a0\u5982\u679c\u662ffalse\u6216\u8005\u4e0d\u5199\u65f6 avalon\u89c6\u4e3a\u5b57\u7b26\u4e32<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u591a\u9009\u4e00\uff1a\u4ee5\u4e0b\u6307\u4ee4\u53ea\u80fd\u7528\u4e8etype=&#8221;radio&#8221;<br \/>\nms-duplex-text \/\/\u503c\u662f\u5b57\u7b26\u4e32<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/radio_ms-duplex.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:622px\"><div style=\"padding-top:46.141479099678%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"622\" height=\"287\" class=\"alignnone size-full wp-image-3715 lazyload\" title=\"radio_ms-duplex\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/radio_ms-duplex.jpg\" alt=\"radio_ms-duplex\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/radio_ms-duplex.jpg 622w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/radio_ms-duplex-300x138.jpg 300w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\"><\/figure><\/a>\n<p>ms-duplex-boolean \/\/\u503c\u662f\u5e03\u5c14\uff0c\u9002\u7528\u4e8e\u5e03\u5c14\u503c\u7684\u903b\u8f91\u5224\u65ad<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex-boolean.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:730px\"><div style=\"padding-top:12.054794520548%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"730\" height=\"88\" class=\"alignnone size-full wp-image-3714 lazyload\" title=\"ms-duplex-boolean\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex-boolean.jpg\" alt=\"ms-duplex-boolean\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex-boolean.jpg 730w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex-boolean-300x36.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex-boolean-624x75.jpg 624w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\"><\/figure><\/a>\n<p>\u7981\u7528\u53cc\u5411\u6570\u636e\u7ed1\u5b9a<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-data-duplex-observe.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:736px\"><div style=\"padding-top:4.3478260869565%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"736\" height=\"32\" class=\"alignnone size-full wp-image-3716 lazyload\" title=\"ms-data-duplex-observe\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-data-duplex-observe.jpg\" alt=\"ms-data-duplex-observe\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-data-duplex-observe.jpg 736w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-data-duplex-observe-300x13.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-data-duplex-observe-624x27.jpg 624w\" sizes=\"auto, (max-width: 736px) 100vw, 736px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u663e\u793a\u9690\u85cf<\/span> ms-visible \u00a0 \u00a0 ms-if<\/p>\n<p>ms-visible \u00a0\u7684\u9690\u85cf\u662f\u901a\u8fc7css\u6765\u63a7\u5236\u7684<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_visible.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:595px\"><div style=\"padding-top:81.848739495798%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"595\" height=\"487\" class=\"alignnone size-full wp-image-4949 lazyload\" title=\"ms_visible\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_visible.jpg\" alt=\"ms_visible\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_visible.jpg 595w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_visible-300x245.jpg 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>ms-if \u7684\u9690\u85cf\u662f\u901a\u8fc7\u76f4\u63a5\u5220\u9664dom\u6765 \u5b9e\u73b0\u6548\u679c \u00a0\u4ee5\u4e0a\u7684\u4f8b\u5b50\u53ef\u4ee5\u76f4\u63a5\u628ams-visible\u6539\u6210ms-if<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6570\u636e\u7f13\u5b58<\/span> \u00a0 \u7c7b\u4f3c$().data()<\/p>\n<p>\u8bbe\u7f6e\u65b9\u6cd5\uff1a \u00a0ms-data-\u81ea\u5b9a\u4e49\u540d\u5b57=\u201c\u5c5e\u6027\u540d\u201d<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_data.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:482px\"><div style=\"padding-top:71.784232365145%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"482\" height=\"346\" class=\"alignnone size-full wp-image-4950 lazyload\" title=\"ms_data\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_data.jpg\" alt=\"ms_data\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_data.jpg 482w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms_data-300x215.jpg 300w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u83b7\u53d6\u65b9\u6cd5\uff1a\u9700\u8981\u6ce8\u610f\u6570\u7ec4\u548c\u5bf9\u8c61<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/avalon_get_value.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:793px\"><div style=\"padding-top:43.12736443884%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"793\" height=\"342\" class=\"alignnone size-full wp-image-4951 lazyload\" title=\"avalon_get_value\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/avalon_get_value.jpg\" alt=\"avalon_get_value\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/avalon_get_value.jpg 793w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/avalon_get_value-300x129.jpg 300w\" sizes=\"auto, (max-width: 793px) 100vw, 793px\"><\/figure><\/a>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0\u5143\u7d20\u5c5e\u6027\u00a0<\/span>\u6dfb\u52a0 \u4fee\u6539\u7c7b\u4f3c\u00a0$().attr() .prop()<\/p>\n<p>\u5f53value\u4e3aundefined, null, false\uff0c\u4f1a\u79fb\u9664\u6b64\u5c5e\u6027\uff0c\u5426\u5219\u4f1a\u6dfb\u52a0\u6b64\u5c5e\u6027<\/p>\n<p>\u4e3b\u8981\u4ecb\u7ecd\u8fd9\u4e9b\u4f8b\u5b50\u7684\u4f7f\u7528<\/p>\n<p>ms-attr-disabled<br \/>\nms-attr-readonly<br \/>\nms-duplex-string<br \/>\nms-attr-selected<br \/>\nms-attr-checked<br \/>\nms-attr-id<br \/>\nms-attr-name<br \/>\nms-attr-src<br \/>\nms-attr-title<br \/>\nms-attr-data<\/p>\n<p>ms-attr-href \u00a0 \/\/\u63a8\u8350\u8fd9\u79cd\u5199\u6cd5<br \/>\nms-class \/\/\u8fd9\u4e2a\u662f\u91cd\u70b9\u7ecf\u5e38\u7528\u5230,ms-class-1\u00a0ms-class-2 \u00a0\u547d\u540d\u7684\u5148\u540e\u987a\u5e8f\u8ddf\u5e8f\u53f7\u6709\u5173<\/p>\n<p>\u8fd8\u53ef\u4ee5\u8fd9\u4e48\u5199 \u00a0ms-class-diy=&#8221;true&#8221; \u00a0\/\/\u9760\u5e03\u5c14\u503c\u5224\u65ad\u662f\u5426\u6dfb\u52a0diy\u6837\u5f0f\u540d 1.5.x\u5e9f\u9664\u4e86<\/p>\n<p>ms-class=&#8221;hover:true&#8221; \u00a0 \u00a0\/\/\u73b0\u5728\u63a8\u8350\u8fd9\u79cd\u5199\u6cd5\uff0c\u5e03\u5c14\u503c\u5224\u65ad\u662f\u5426\u6dfb\u52a0hover\u7c7b\u6837\u5f0f\u540d<\/p>\n<p>ms-class=&#8221;hover:hover_name===1&#8243; \u00a0 \/\/\u6761\u4ef6\u5224\u65ad\u5f53hover_name\u7b49\u4e8e1\u65f6\u6761\u4ef6\u6ee1\u8db3\u4e5f\u4e3atrue<\/p>\n<p>\u76f4\u63a5\u770b\u4f8b\u5b50\uff1a<a href=\"https:\/\/sdeno.com\/zp\/ava\/av3.html\" target=\"_blank\">https:\/\/sdeno.com\/zp\/ava\/av3.html<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u5c5e\u6027\u5206\u4e3a\u4e24\u5927\u5757\uff0c\u9ed8\u8ba4\u5728vm\u4e2d\u8bbe\u7f6e\u7684\u5c5e\u6027\u90fd\u662f\u76d1\u542c\u5c5e\u6027\uff0c\u5982\u679c\u4e0d\u60f3\u76d1\u542c\u8bf7\u4f7f\u7528,\u8fd9\u6837\u503c\u5c31\u7b97\u88ab\u4fee\u6539\u4e86\u6c38\u8fdc\u90fd\u4e0d\u4f1a\u8ddf\u8bd5\u56fe\u540c\u6b65\uff0c\u5728\u8bd5\u56fe\u4e2d\u6c38\u8fdc\u663e\u793a\u521d\u59cb\u503c\u4e0d\u4f1a\u88ab\u4fee\u6539\u3002<\/p>\n<p>$skipArray \u00a0 \/\/$skipArray: [&#8220;a&#8221;] \u00a0 ,$skipArray \u653e\u5728\u8981\u8bbe\u7f6e\u975e\u76d1\u542c\u5c5e\u6027\u7684\u540c\u5c42\u4e2d<\/p>\n<p>$ \u00a0 \/\/\u4e3a\u5c5e\u6027\u6dfb\u52a0,\u5982\u00a0$a<\/p>\n<p>:: \u00a0\/\/\u76f4\u63a5\u5728\u8868\u8fbe\u5f0f\u4e2d\u6dfb\u52a0 \u00a0{{::a}},ms-attr-value=&#8221;::aaa&#8221;\uff0c\u5982\u679c\u4e0d\u60f3\u8ba9\u89c6\u56fe\u540c\u6b65\u66f4\u65b0\u4f46\u662f\u53c8\u5e0c\u671b\u503c\u53d1\u751f\u53d8\u5316\u540e\u56de\u8c03\u5c31\u4f7f\u7528\u5b83<\/p>\n<p>1\uff0c\u4e0a\u97623\u79cd\u65b9\u6cd5\u7684\u5171\u540c\u6548\u679c\u662f\u5c31\u7b97vm\u4e2d\u7684a\u5c5e\u6027\u503c\u6539\u53d8\u4e86\uff0c\u89c6\u56fe\u4e2d\u7684\u503c\u662f\u4e0d\u4f1a\u540c\u6b65\u66f4\u65b0\u7684\uff0c\u4f46\u662fa\u7684\u503c\u662f\u53ef\u4ee5\u6539\u53d8\u7684\u3002<\/p>\n<p>2\uff0c\u4f7f\u7528$skipArray\u548c$ \u65b9\u6cd5\uff0c\u5728$watch\u76d1\u542ca\u5c5e\u6027\u662f\u4e0d\u4f1a\u89e6\u53d1\u7684\uff0c\u4f46\u662f\u7528::\u5c31\u7b97\u89c6\u56fe\u4e0d\u540c\u6b65\u66f4\u65b0\u8fd8\u662f\u80fd\u89e6\u53d1$watch\u56de\u8c03\u7684\u56e0\u4e3a\u503c\u53d1\u751f\u6539\u53d8\u4e86\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">ms-duplex 2.0<\/span> \u5176\u5b9e\u4e5f\u5c31\u662f\u7ec6\u5316\u5206\u7c7b\u4e86ms-duplex\u79cd\u7c7b<\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:875px\"><div style=\"padding-top:63.314285714286%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"875\" height=\"554\" class=\"alignnone size-full wp-image-4952 lazyload\" title=\"ms-duplex\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex.jpg\" alt=\"ms-duplex\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex.jpg 875w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/ms-duplex-300x189.jpg 300w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\"><\/figure><\/a>\n<p>ms-duplex-string<br \/>\nms-duplex-number<br \/>\nms-duplex-boolean<br \/>\nms-duplex-checked<br \/>\nms-data-duplex-observe \u00a0\/\/1.5x\u5e9f\u9664<\/p>\n<pre>\/\/ data-duplex-observe=\"true\"\u662f\u53ef\u4ee5\u52a8\u6001\u5224\u65ad\u662f\u5426\u8981\u89c6\u56fe\u548c\u6570\u636e\u540c\u6b65\u66f4\u65b0,\u73b0\u57281.5.x\u5e9f\u9664\u4e86\uff0c\r\n   \u5982\u679c\u4f60\u60f3\u7528$skipArray\u52a8\u6001\u6dfb\u52a0\u662f\u6ca1\u6709\u6548\u679c\u7684\uff0c\r\n   \u73b0\u5728\u8981\u5b9e\u73b0\u540c\u6837\u7684\u529f\u80fd\u53ea\u80fd\u4f7f\u7528\u62e6\u622a\u5668\u4e86,\r\n\r\nvar vm = avalon.define({\r\n  $id: \"test\",\r\n  con:'11',\r\n});\r\n\r\navalon.duplexHooks.add100={\r\n  get:function(val,e){ \r\n     if(\/data-duplex-observe=\\\"false\\\"\/i.test(e.element.outerHTML)){\r\n        return vm.con;\r\n     }else{\r\n        return val;\r\n     }\r\n  }\r\n};\r\n\r\n\r\n&lt;input type=\"text\" ms-duplex-string-add100=\"con\" data-duplex-observe=\"false\"&gt;\r\n\/\/\u81ea\u5b9a\u4e49\u4e00\u4e2a\u62e6\u622a\u5668\u540d\u5b57\u4e3aadd100\uff0c\u4e3a\u8fd9\u4e2a\u62e6\u622a\u5668\u6dfb\u52a0\u5224\u65ad\uff0c\u5728\u7528\u6237\u624b\u52a8\u8f93\u5165\u5185\u5bb9\u65f6\u5982\u679c\u53d1\u73b0\u6709data-duplex-observe=\"false\"\u5c31\u7981\u6b62\u540c\u6b65\u89c6\u56fe\u3002<\/pre>\n<p>data-duplex-changed \u00a0 \u00a0\/\/\u503c\u53d1\u751f\u53d8\u5316\u5c31\u4f1a\u89e6\u53d1\uff0c\u5e76\u4e14\u80fd\u8bb0\u5f55\u65b0\u503c\uff0c\u8ddf$watch\u529f\u80fd\u7c7b\u4f3c\u3002\u6b64\u6307\u4ee4\u53ea\u80fd\u8ddfms-duplex\u914d\u5408\u4f7f\u7528\uff0c\u4e5f\u5c31\u662fms-duplex\u5b58\u5728\u7684\u5730\u65b9\u624d\u80fd\u7528\u5b83<br \/>\ndata-duplex-focus \u00a0\/\/1.5x\u548c\u6700\u65b0\u76841.4.x\u5df2\u7ecf\u90fd\u4e0d\u652f\u6301\u4e86\uff0c\u7528JQ\u7684focus\u4ee3\u66ff\u5427<br \/>\ndata-duplex-event \u00a0\/\/\u586b\u5199\u4e8b\u4ef6\u540d\u79f0\uff0c\u76f8\u5e94\u7684\u4e8b\u4ef6\u89e6\u53d1\u4e86 \u00a0\u9875\u9762\u4e0a\u624d\u4f1a\u8ddf\u6570\u636e\u540c\u6b65<\/p>\n<pre>\/\/1.4.x\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4f7f\u7528ms-duplex\u53ea\u8981\u7528\u6237\u8f93\u5165\u7684\u503c\u53d8\u5316\u89c6\u56fe\u4e2d\u5c31\u4f1a\u540c\u6b65\u6570\u636e\u3002\u5982\u679c\u4e0d\u5e0c\u671b\u65f6\u65f6\u66f4\u65b0\u540c\u6b65\u6570\u636e\uff0c\u60f3\u4f9d\u9760\u7528\u6237\u4e8b\u4ef6\u6765\u89e6\u53d1\u89c6\u56fe\u6570\u636e\u66f4\u65b0\u53ef\u4ee5\u4f7f\u7528data-duplex-event\r\ndata-duplex-event=\"click\"  \/\/\u53ea\u6709\u70b9\u51fb\u65f6\u5019\u624d\u80fd\u66f4\u65b0\u89c6\u56fe\u6570\u636e\r\ndata-duplex-event=\"blur\"   \/\/\u53ea\u6709\u5931\u53bb\u7126\u70b9\u65f6\u624d\u66f4\u65b0\u89c6\u56fe\u6570\u636e\r\n1.4.x\u7684data-duplex-event\u53ea\u652f\u6301change, click, mouseover, mouseout, focus, blur\r\n\r\n\/\/1.5.x\u4e2d data-duplex-event=\"change\"  \u53ea\u80fd\u8fd9\u4e48\u4f7f\u7528,\u6548\u679c\u8ddfblur\u4e00\u6837\u5f53\u5931\u53bb\u7126\u70b9\u624d\u4f1a\u89e6\u53d1\uff0c\u5982\u679c\u60f3\u548c1.4.x\u529f\u80fd\u4e00\u6837\u7528jquery\u914d\u5408\u5427<\/pre>\n<p><a href=\"https:\/\/sdeno.com\/zp\/ava\/av4.html\" target=\"_blank\">\u00a0\u4ee5\u4e0a\u6307\u4ee4\u6848\u4f8b\uff1ahttps:\/\/sdeno.com\/zp\/ava\/av4.html<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">ms-duplex\u7684\u56de\u8c03data-duplex-changed<\/span><\/p>\n<p>\u5f53\u8868\u5355\u5143\u7d20\u4e0a\u7ed1\u5b9a\u7740ms-duplex\u65f6\uff0c\u503c\u5728\u53d8\u5316\u65f6\u9700\u8981\u89e6\u53d1\u56de\u8c03\u5c31\u4f7f\u7528data-duplex-changed=&#8221;fn&#8221;<\/p>\n<pre>fn:function(newvalue,event){  \u5f53\u524d\u7684\u65b0\u503c\uff0cevent\u5bf9\u8c61(\u4f8b\u5982\u80fd\u83b7\u53d6\u5f53\u524d\u7ed1\u5b9ams-duplex\u7684dom\u5bf9\u8c61)\r\n  \/\/\u56de\u8c03\u9700\u8981\u6267\u884c\u7684\u4ee3\u7801 \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">avalonjs\u63d2\u4ef6\u5c01\u88c5 \u00a0duplexHooks\u62e6\u622a\u5668 \u00a0<\/span>\u57fa\u4e8ems-duplex-*\u4e0b\u6269\u5c55\u7684<\/p>\n<p>duplexHooks\u6848\u4f8b\uff1a<a href=\"https:\/\/sdeno.com\/zp\/ava\/duplexHooks.html\" target=\"_blank\">https:\/\/sdeno.com\/zp\/ava\/duplexHooks.html<\/a><\/p>\n<p>\u5e76\u4e14\u4e00\u4e2ams-duplex\u662f\u53ef\u4ee5\u5e26N\u591a\u62e6\u622a\u5668\u7684\uff0c\u5982ms-duplex-number-string-diy1-diy2=&#8217;a&#8217;<\/p>\n<pre>avalon.ready(function(){\r\n var vm=avalon.define({\r\n $id:'ceshi',\r\n a:'ee'\r\n });\r\n avalon.scan();\r\n });\r\n\r\n\r\navalon.duplexHooks.mylimit={\r\n  get:function(str,data){\r\n    var limit= parseFloat($(data.element).attr('data-duplex-mylimit')) ;\r\n    alert(str.length);\r\n    if(str.length&gt;limit){\r\n      return data.element.value=$(data.element).val().slice(0,limit);\r\n    }\r\n    return str; \/\/return str\u662f\u8d1f\u8d23\u8f93\u51fa\u5f53\u524d\u7684\u540c\u6b65\u4fe1\u606f\uff0c\u4e5f\u5c31\u662fms-duplex\u7684\u529f\u80fd\r\n  }\r\n }\r\n\r\n\r\n&lt;div ms-duplex-number-string-diy1-diy2=\"a\"&gt;{{a}}&lt;\/div&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">ms-css<\/span><\/p>\n<pre>ms-css-width=\"num\" \/\/\u5982\u679cnum\u53ea\u5199\u6570\u5b57\uff0c\u9ed8\u8ba4\u81ea\u52a8\u52a0px\r\nms-css-width=\"{{num}}%\" \/\/{{num}}px\r\nms-css-font-size=\"num2\"<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u4e8b\u4ef6\u7ed1\u5b9a<\/span><\/p>\n<pre>&lt;div ms-click-1=\"fn1\" ms-click-3=\"fn3\" ms-click-2=\"fn2\"&gt;&lt;\/div&gt;  \u6267\u884c\u987a\u5e8f\u662f fn1  fn3  fn2  \u8ddf\u5e8f\u53f7\u65e0\u5173<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u5faa\u73af \u904d\u5386\u00a0<\/span><\/p>\n<p>ms-each \u8c8c\u4f3c\u5e9f\u9664\u4e86<\/p>\n<p>ms-with\u5e9f\u5f03<\/p>\n<p>ms-repeat \u00a0\/\/\u5b98\u65b9\u63a8\u8350<\/p>\n<p>\u6570\u636e\u662f\u6570\u7ec4\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a$index\uff0c$last\uff0c$first\uff0c$remove<\/p>\n<p>\u6570\u636e\u662f\u5bf9\u8c61\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a$key\uff0c $val\uff0c$remove \uff0c$index\/\/1.5.x\u5bf9\u8c61\u4e5f\u6dfb\u52a0$index\u904d\u5386\u4e86<\/p>\n<p>$outer: \u5f97\u5230\u5916\u56f4\u5faa\u73af\u7684\u90a3\u4e2a\u5143\u7d20\u3002\uff08\u8fd9\u4e2a\u4e0d\u597d\u7406\u89e3\u76f4\u63a5\u770b\u4f8b\u5b50\uff09<\/p>\n<pre>&lt;ul&gt;\r\n  &lt;li ms-repeat=\"arr\" ms-click=\"click(el,$event)\"&gt;\r\n    {{$index}}--{{el}}--\u6b64\u503c\u662f\u5426\u4e3a\u6700\u540e\u4e00\u4e2a\u503c\uff1a{{$last}} --\u6b64\u503c\u662f\u5426\u4e3a\u6700\u524d\u4e00\u4e2a\u503c\uff1a {{$first}}\r\n  &lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<p>&nbsp;<\/p>\n<pre>&lt;ul&gt;\r\n  &lt;li ms-repeat=\"obj\" ms-click=\"click2($key,$val,$event)\"&gt;{{$key}}--{{$val}}&lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<p>&nbsp;<\/p>\n<pre>arr_arr:[\r\n  ['a','b','c'],\r\n  ['aa','bb','cc'],\r\n  ['aaa','bbb','ccc']\r\n ]\r\n\r\n\r\n&lt;table border=\"1\"&gt;\r\n  &lt;tr ms-repeat=\"arr_arr\"&gt;\r\n   &lt;td ms-repeat-child=\"el\"&gt;{{avalon.log(<span style=\"color: #ff0000;\">$outer<\/span>)}}--{{child}}&lt;\/td&gt;  \/\/el\u8868\u793a\u7684\u662f\u6570\u7ec4['a','b','c']\uff0c['aa','bb','cc']...\r\n  &lt;\/tr&gt;\r\n&lt;\/table&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>\u4e0d\u7ba1\u662f\u5bf9\u8c61\u8fd8\u662f\u6570\u7ec4\u9ed8\u8ba4\u8f93\u51fa{{el}}\u6216\u8005{{$val}} \u90fd\u4f1a\u628a\u5168\u90e8\u503c\u8f93\u51fa\u51fa\u6765\uff0c\u5982\u679c\u53ea\u60f3\u8f93\u51fa\u6307\u5b9a\u7684\u4e0b\u6807\uff0c\u5728\u904d\u5386\u7684\u540c\u65f6\u8981\u8fdb\u884c\u5224\u65ad\u5982\uff1a<\/p>\n<pre>\/\/\u6570\u7ec4\r\n&lt;tr ms-repeat=\"arr\"&gt;\r\n   &lt;td ms-repeat-child=\"el\" ms-if-loop=\"$index===1\"&gt;{{child}}----&lt;a ms-click=\"$remove\"&gt;x&lt;\/a&gt;&lt;\/td&gt;  \/\/\u9ed8\u8ba4\u5176\u4ed6\u4e0b\u6807\u9690\u85cf\uff0c\u53ea\u663e\u793a\u4e0b\u6807\u4e3a1\u7684\u5143\u7d20\r\n&lt;\/tr&gt;\r\n\r\n\r\n\/\/\u5bf9\u8c61\r\n&lt;tr ms-repeat=\"arr\"&gt;\r\n &lt;td ms-repeat=\"el\" ms-if-loop=\"$index==='name'\"&gt;{{el.name}}&lt;\/td&gt; \/\/\u9ed8\u8ba4\u5176\u4ed6\u4e0b\u6807\u9690\u85cf\uff0c\u53ea\u663e\u793a\u4e0b\u6807\u4e3aname\u7684\u5143\u7d20\r\n&lt;\/tr&gt;\r\n\r\n\u5982\u679c\u6570\u636e\u662f\u5bf9\u8c61\u7684\u8bdd\u53ef\u4ee5\u901a\u8fc7data-with-sorted=\"im\"\u8fd4\u56de\u6570\u7ec4\u6765\u6307\u5b9a\u8981\u663e\u793a\u7684\u5c5e\u6027\u540d\r\nim:function(){\r\n  return ['name','age']  \/\/\u53ea\u663e\u793a\u5c5e\u6027\u540d\u662fname\u548cage\u7684\u503c\r\n}\r\n\r\n\/\/\u9047\u5230\u590d\u6742\u7684\u5c31\u4f20\u4e00\u4e2a\u53c2\u6570\u5224\u65ad\r\nms-if-loop=\"toggle($index,$events)\"\r\n\r\n\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6570\u636e\u66f4\u65b0<\/span><\/p>\n<pre>arr:['aa','bb']\r\nvm.arr.set(0, 'cc')  \/\/['cc','bb']\r\n\r\n\r\narr1:[{text:'aa'},{text:'bb'}]\r\nvm.arr1[0].text='cc'  \/\/ [{text:'cc'},{text:'bb'}]\r\n\r\n\r\n\/\/\u5982\u679c\u8981\u66f4\u65b0\u5bf9\u8c61\u5c5e\u6027\u540d\u79f0\uff0c\u53ea\u80fd\u662f\u91cd\u5199\u5bf9\u8c61\u4e86\r\nobj:{name:'\u9648\u9648',age:27}\r\nvm.obj={name11:'\u9648\u9648',age11:27};<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6570\u636e\u589e\u3001\u5220\u3001\u6539\u3001\u67e5\u540e\u89e6\u53d1\u7684\u56de\u8c03\uff08\u91cd\u8981\uff09<\/span><\/p>\n<p>\u4e00\u822c\u662fms-repeat\u904d\u5386\u63d2\u5165DOM\u6210\u529f\u540e\u9700\u8981\u56de\u8c03\u5c31\u53ef\u4ee5\u4f7f\u7528data-repeat-rendered<\/p>\n<pre>back_fn:function(status){\r\n  console.log(this);\r\n  console.log(status);\r\n}\r\n\r\ndata-repeat-rendered=\"back_fn\"  \/\/\u8d1f\u8d23\u76d1\u542c<span style=\"color: #ff0000;\">\u6570\u7ec4<\/span>\uff0c\u8fd4\u56de\u72b6\u6001\u6709add,index,set,del,move,clear\r\n\u63cf\u8ff0\uff1a\r\n1,\u7b2c\u4e00\u6b21\u5c06\u6570\u7ec4\u91cc\u7684\u5185\u5bb9\u4e00\u4e2a\u4e2a\u904d\u5386\u63d2\u5165\u5230\u9875\u9762\uff0c\u5e76\u6e32\u67d3\u5b8c\u6210\u65f6\uff0c\u9ed8\u8ba4\u5c31\u4f1a\u56de\u8c03\u72b6\u6001\u662fadd\uff0c\u53ef\u4ee5\u5224\u65ad\u5229\u7528\u8fd9\u4e2aadd\u72b6\u6001\u7684\u56de\u8c03\u53bb\u6267\u884c\u6211\u4eec\u7684\u5176\u4ed6\u4e1a\u52a1\u3002\r\n2,\u4e3a\u6570\u7ec4\u6dfb\u52a0\u65b0\u5143\u7d20\u540e\u4f1a\u518d\u6b21\u6e32\u67d3\u9875\u9762\u65f6\u4f1a\u56de\u8c03\u4e00\u4e2aadd,\u4e4b\u540e\u6570\u7ec4\u7684\u7d22\u5f15\u53d1\u751f\u6539\u53d8\u7d27\u63a5\u8fd4\u56de\u4e00\u4e2aindex,\u53ef\u4ee5\u5229\u7528\u8fd9\u4e2aindex\u5224\u65ad\u6570\u7ec4\u662f\u5426\u589e\u3001\u5220\u8fc7\u3002\r\n3,\u4fee\u6539\u6570\u7ec4\u65f6\uff0c\u8fd4\u56deset\r\n4,\u5220\u9664\u65f6\uff0c\u8fd4\u56dedel\r\n5,\u91cd\u65b0\u6392\u5e8f\u65f6,\u8fd4\u56demove,\u7d22\u5f15\u4e5f\u4f1a\u6539\u53d8\u5728\u7d27\u63a5\u8fd4\u56deindex\r\n6,\u6e05\u9664\u6570\u7ec4\u6240\u6709\u5185\u5bb9\u65f6,\u8fd4\u56declear   vm.arr.removeAll()  removeAll()\/\/\u662favalon\u81ea\u5df1\u5c01\u88c5\u7684\r\n\r\n--------------------------------------------------------------------------------\r\n\r\ndata-repeat-rendered=\"obj\" \/\/\u8d1f\u8d23\u76d1\u542c<span style=\"color: #ff0000;\">\u5bf9\u8c61\uff0c<span style=\"color: #000000;\">\u8fd4\u56de\u72b6\u6001\u6709append,set,del,move,clear<\/span><\/span>\r\n\u63cf\u8ff0\uff1a\r\n1,\u7b2c\u4e00\u6b21\u628a\u5bf9\u8c61\u91cc\u7684\u6570\u636e\u66f4\u65b0\u5230\u9875\u9762\u5b8c\u6210\u540e\uff0c\u8fd4\u56de\u7684\u72b6\u6001\u662fappend,\u5176\u4f59\u8ddf\u64cd\u4f5c\u6570\u7ec4\u4e00\u6837\r\n(\u5177\u4f53\u5c1d\u8bd5\u76d1\u542cstatus\u72b6\u6001)\r\n\r\n\r\n----------------------------------------------------------------------------------\r\n\r\nim:function(){\r\n  return ['\u4f60','\u4ed61'];\r\n}\r\ndata-with-sorted=\"im\"  \/\/\u7ed1\u5b9a\uff0c\u5e76\u8fd4\u56de\u4e00\u4e2a\u6570\u7ec4\uff0c\u6570\u7ec4\u91cc\u9762\u7684\u5143\u7d20\u586b\u5199\u7684\u662f\u5bf9\u8c61\u7684\u5c5e\u6027\u540d\uff0c\u8fd4\u56de\u7684\u6570\u7ec4\u7684\u957f\u5ea6\u548c\u6392\u5e8f\u4e5f\u51b3\u5b9a\u7740\u4fee\u6539\uff0c\u904d\u5386\u5bf9\u8c61\u6570\u636e\u7684\u5185\u5bb9\u3002\r\n\u5177\u4f53\u67e5\u770b\u89c6\u9891\uff1a<a href=\"http:\/\/www.imooc.com\/video\/6934\" target=\"_blank\">http:\/\/www.imooc.com\/video\/6934<\/a>  3-4 \u56de\u8c03\u7ed1\u5b9a\u5c5e\u6027<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">ms-if-loop<\/span><\/p>\n<p>ms-if-loop=&#8221;&#8221;\u548cms-if=&#8221;&#8221;\u52a0\u8f7d\u5143\u7d20\u4e0a\u9ed8\u8ba4\u6b64\u5143\u7d20\u90fd\u4f1a\u5728\u5220\u9664\uff0c\u8fbe\u5230\u9690\u85cf\u7684\u6548\u679c\u3002\u4f46\u662fms-if\u6267\u884c\u7684\u4f18\u5148\u6743\u6bd4ms-if-loop\u8fd8\u8981\u5927\uff0c<br \/>\n\u6240\u4ee5\u5728\u548cms-repeat\u914d\u5408\u4f7f\u7528\u65f6\uff0c\u8981\u4f7f\u7528ms-if-loop\uff0c\u56e0\u4e3ams-if\u6267\u884c\u7684\u4f18\u5148\u6743\u4e5f\u5927\u4e8ems-repeat<\/p>\n<p>\u76f4\u63a5\u770b\u4f8b\u5b50\uff1a<a href=\"https:\/\/sdeno.com\/zp\/ava\/av6.html\" target=\"_blank\">demo1<\/a><\/p>\n<p>\u5728\u770b\u4e00\u4f8b\u5b50\uff1a<\/p>\n<pre>arr:[{name:'\u5c0f\u674e',age:25},{name:'\u5c0f\u4e09',age:27},{name:'\u5c0f\u56db',age:28}]\r\n\r\n&lt;table&gt;\r\n  &lt;tr ms-repeat=\"arr\"&gt;\r\n    &lt;td ms-repeat=\"el\" ms-if-loop=\"$key==='name'\" &gt;{{el.name}}&lt;\/td&gt;  \/\/\u5982\u679c\u6362\u6210ms-if\u5c31\u6ca1\u6709\u6548\u679c\u4e86\uff0c\u56e0\u4e3a\u4f18\u5148\u6743\u7684\u95ee\u9898\uff0c\u8981\u4fdd\u8bc1\u6570\u636e\u663e\u793a\u4e86\u5220\u9664DOM\r\n  &lt;\/tr&gt;\r\n&lt;\/table&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6570\u7ec4\u957f\u5ea6<\/span><\/p>\n<p>\u6570\u7ec4\u7684\u957f\u5ea6\u4f7f\u7528\u00a0arr.<span style=\"color: #ff0000;\">size()<\/span>\u53bb\u83b7\u53d6<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0\u5185\u7f6e\u64cd\u4f5c\u6570\u7ec4\u65b9\u6cd5<\/span><\/p>\n<pre>\u4e3b\u8981\u4e0d\u662f\u653e\u5728\u4ee5$\u5f00\u5934\uff0c\u548c$skipAarray\u6570\u7ec4\u4e2d\u7684\u6570\u636e\u90fd\u662f\u4f1a\u88ab\u76d1\u542c\u7684\uff0c\u88ab\u76d1\u542c\u7684\u6570\u7ec4\u6709\u5f88\u591a\u65b9\u6cd5\u53ef\u4ee5\u53bb\u64cd\u4f5c\u3002\r\n\u5728avalon\u4e2d\u88ab\u91cd\u65b0\u65b9\u6cd5\u6709\uff08\u4e5f\u5c31\u662f\u5728\u5df2\u6709\u539f\u751fJS\u7684\u65b9\u6cd5\u57fa\u7840\u4e0a\u91cd\u65b0\uff09\uff1a\r\npush,  \/\/\u672b\u5c3e\u6dfb\u52a0\u5143\u7d20\r\npop, \/\/\u5220\u9664\u6700\u540e\u4e00\u4e2a\u5143\u7d20\r\nshift,  \/\/\u5220\u9664\u6700\u524d\u4e00\u4e2a\u5143\u7d20\r\nunshift , \/\/\u6dfb\u52a0\u5143\u7d20\u5728\u6700\u524d\r\nsplice,  \/\/\u6709\u5220\u9664\uff0c\u589e\u52a0\uff0c\u66ff\u6362\u529f\u80fd\r\nsort,   \/\/\u81ea\u7136\u987a\u5e8f\u6392\u5e8f\r\nreverse  \/\/\u5012\u5e8f\r\n\r\n\u65b0\u589e\u65b9\u6cd5\u6709\uff1a\r\npushAll,  \/\/1.4.7.2\u4ee5\u540e \u5e9f\u9664\r\nslice,  \/\/ \u8fd4\u56de\u7b5b\u9009\u540e\u7684\u6570\u7ec4\uff0c vm.arr.slice(2,4)\uff0c\u9009\u53d6\u7d22\u5f15\u4e3a2\u548c4\u4e4b\u95f4\u7684\u5185\u5bb9\uff0c\u5305\u62ec2\u7d22\u5f15\u5185\u5bb9\uff0c\u4f46\u4e0d\u5305\u62ec4\u7d22\u5f15\u5185\u5bb9\uff0c\u8fd4\u56de\u7ec4\u6210\u7684\u4e00\u4e2a\u6570\u7ec4\r\nremove ,  \/\/\u6839\u636e\u5185\u5bb9\u5220\u9664\u5143\u7d20 (\u6ce8\u610f\u5185\u5bb9\u7684\u7c7b\u578b)\r\nremoveAt,  \/\/\u6839\u636e\u7d22\u5f15\u5220\u9664\u5143\u7d20\r\nremoveAll , \/\/\u5220\u9664\u591a\u4e2a vm.arr.removeAll([2,3]) ;\r\nclear,   \/\/\u6e05\u7a7a\u5168\u90e8\r\nensure,  \/\/ensure,\u68c0\u67e5\u8981\u63d2\u5165\u7684\u5185\u5bb9\u6570\u7ec4\u662f\u5426\u5b58\u5728\uff0c\u4e0d\u5b58\u5728\u624dpush\u8fdb\u6570\u7ec4\r\nset \/\/ \u6839\u636e\u7d22\u5f15\u4fee\u6539\u5185\u5bb9 vm.arr.set(0,'wo')<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0\u6a21\u677f<\/span><\/p>\n<p>\u4ece\u5916\u90e8\u5f15\u5165\u4e00\u4e2a\u9875\u9762 ,\u662f\u5229\u7528ajax\u65b9\u6cd5\u5f15\u5165\uff0c\u5e76\u4e14\u662fget\u65b9\u5f0f (avalon\u6ca1\u6709\u63d0\u4f9bajax\u529f\u80fd\u9700\u8981\u7684\u8bdd\u4f7f\u7528jquery)<\/p>\n<pre>\u00a0\r\navalon.define({\r\n $id: \"test\",\r\n tem:'tem1'\r\n})\r\n\r\n&lt;div ms-include-src=\"tem+'.html'\"&gt;&lt;\/div&gt;  \u6587\u4ef6\u540dtem1.html\r\n&lt;div ms-include-src=\"{{tem}}.html\"&gt;&lt;\/div&gt;\r\n\r\n\r\n\r\n\u7f13\u5b58\uff1aavalon.templateCache\r\n\r\navalon.templateCache['diy']='&lt;em&gt;fffff&lt;\/em&gt;';\r\n avalon.define({\r\n   $id: \"test\",\r\n   tem:'diy'\r\n })\r\n\r\n&lt;div ms-include-src=\"tem\"&gt;&lt;\/div&gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u52a0\u8f7d\u6a21\u677f\u6210\u529f\u540e\u7684\u56de\u8c03<\/span><\/p>\n<pre><span style=\"color: #ff0000;\">data-include-loaded<\/span>=\"fn\"\r\n\r\n\/\/\u5f53\u6211\u4eec\u4f7f\u7528ms-include-src\u52a0\u8f7d\u6a21\u677f\u6210\u529f\u540e\uff0c\u9700\u8981\u5728\u6a21\u677f\u57fa\u7840\u4e0a\u8ffd\u52a0\u5185\u5bb9\u53ef\u4ee5\u4f7f\u7528data-include-loaded\r\n\r\nfn:function(data){  \/\/data\u83b7\u53d6\u5230\u7684\u662f\u52a0\u8f7d\u6a21\u677f\u7684\u5185\u5bb9\r\n  return data+'\u53ef\u4ee5\u5728\u6a21\u677f\u57fa\u7840\u4e0a\u8ffd\u52a0\u5185\u5bb9';\r\n}\r\n\r\n&lt;div ms-include-src=\"tem\" data-include-loaded=\"fn\"&gt;&lt;\/div&gt;\r\n\r\n\r\n\r\n\r\n<span style=\"color: #ff0000;\">data-include-rendered<\/span>=\"fn\"\r\n\u5982\u679c\u4ec5\u4ec5\u53ea\u662f\u56de\u8c03\uff0c\u4e0d\u9700\u8981\u83b7\u53d6\u52a0\u8f7d\u6210\u529f\u540e\u7684\u6a21\u677f\u5185\u5bb9\u53ef\u4ee5\u4f7f\u7528\u6b64\u5c5e\u6027\r\nfn:function(){\r\n console.log(11);\r\n}\r\n\r\n&lt;div ms-include-src=\"tem\" data-include-rendered=\"fn\"&gt;&lt;\/div&gt;\r\n\r\n\r\n\r\n<span style=\"color: #ff0000;\">data-include-replace<\/span>\r\n\/\/\u9ed8\u8ba4\u60c5\u51b5\u5728\u67d0div\u4e2d\u4f7f\u7528ms-include-src\u52a0\u8f7d\u6a21\u677f\u540e\uff0c\u5185\u5bb9\u90fd\u63d2\u5165\u5230\u6b64div\u91cc\u9762\r\n\/\/\u5982\u679c\u4f7f\u7528data-include-replace=\"true\"\uff0c\u6a21\u677f\u5c06\u4f1a\u66ff\u6362\u6b64div,\u5e76\u5728div\u7684\u4f4d\u7f6e\u4e0a\u63d2\u5165\u5185\u5bb9\u3002\r\n&lt;div ms-include-src=\"tem\" data-include-replace=\"true\"&gt;&lt;\/div&gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0$watch<\/span><\/p>\n<p>VM\u5c5e\u6027\u7684\u7b2c\u4e00\u5c42\u624d\u6709$watch<\/p>\n<p>\u6ce8\u610f\u5c5e\u6027\u540d\u5982\u679c$\u5f00\u5934\uff0c\u6216\u8005\u662f\u5b58\u653e\u5728$skipArray:[&#8216;value&#8217;]\u6570\u7ec4\u4e2d\uff0c\u8fd9\u6837\u7684\u5c5e\u6027\u7684\u503c\u5c31\u4e0d\u4f1a\u88ab\u76d1\u542c\u4e86\u3002<\/p>\n<p>1.4.x\u7684\u5199\u53d1\u662f \u00a0vm.arr.$watch(&#8216;length&#8217;,fn);\u00a0 \u00a0\u00a01.5.x\u6539\u6210 vm.$watch(&#8216;arr.length&#8217;,fn) \u00a0 \/\/\u76d1\u542c\u957f\u5ea6\u53d1\u751f\u53d8\u5316\u56de\u8c03<\/p>\n<p>1.4.x\u7684\u5199\u53d1\u662f vm.obj.obj2.$watch(&#8216;obj3&#8217;,fn); \u00a0 1.5.x\u6539\u6210 vm.$watch(&#8216;obj.obj2.obj3&#8217;,fn) \u00a0\/\/\u76d1\u542c\u5185\u5bb9\u53d8\u5316\u56de\u8c03<\/p>\n<p>\u2605\u672c\u4eba\u6d4b\u8bd5\u5982\u679c\u4f60\u9047\u5230\u590d\u6742\u70b9\u7684\u6570\u636e\u7ed3\u6784\u4f60\u8fd8\u662f\u8981\u75281.4.x\u7684\u5199\u6cd5\u624d\u80fd\u56de\u8c03\u6210\u529f\uff0c\u518d\u8bf41.5.x\u4e5f\u517c\u5bb91.4.x\u7684\u5199\u6cd5\u4f8b\u5982\uff1a<\/p>\n<pre>arr:[['ni11','wo11','ta11',{name:'chen',age:25}],['ni22','wo22','ta22','haha22'],['ni33','wo33','ta33','haha33']]\r\n\r\nclick1:function(){\r\n  vm.arr[0][3].age=24;  \/\/\u76d1\u542c\u5bf9\u8c61\u4e2dage\u6570\u636e\u53d8\u5316\r\n}\r\n\r\nvm.arr[0][3].$watch(\"age\",function(newvalue,oldvalue){  \/\/\u6210\u529f\u56de\u8c03\r\n document.title=1;\r\n});\r\n\r\n\r\nvm.$watch(\"arr.*.age\",function(newvalue,oldvalue){ \/\/\u5931\u8d25\r\n document.title=1;\r\n});\r\n\r\nvm.$watch(\"arr[0][3].age\",function(newvalue,oldvalue){ \/\/\u5931\u8d25\r\n document.title=1;\r\n});\r\n\r\n<\/pre>\n<p>\u6709\u53d8\u52a8\u5173\u6ce8\uff1a<a href=\"http:\/\/avalonjs.github.io\/\" target=\"_blank\">http:\/\/avalonjs.github.io\/<\/a><\/p>\n<pre>var vm=avalon.define({\r\n  $id:'ceshi',\r\n  value1:'\u6d4b\u8bd5',\r\n  value2:'\u6d4b\u8bd5',\r\n  <span style=\"color: #ff99cc;\">$skipArray<\/span>:['value1','value2'],\r\n  obj:{\r\n    obj1:{\r\n      obj2:'\u5185\u5bb9',\r\n      <span style=\"color: #ff99cc;\">$skipArray<\/span>:['obj2']\r\n    }\r\n  }\r\n});<\/pre>\n<p>&nbsp;<\/p>\n<pre>\u7b80\u5355\u5c5e\u6027\u503c\u7684\u76d1\u542c\uff0c\u53ea\u8981\u503c\u53d8\u5316\u5c31\u56de\u8c03\r\nvar vm=avalon.define({\r\n  $id:'ceshi',\r\n  value:'\u5185\u5bb9'\r\n});\r\n\r\nvm.$watch('value',function(newvalue,oldvalue){\r\n   console.log(newvalue+'---'+oldvalue);\r\n});\r\n\r\n-------------------------------------------\r\n\r\n\u6570\u7ec4\u7684\u76d1\u542c\u53ea\u6709\u957f\u5ea6\u53d8\u5316\u65f6\u5019\u56de\u8c03\r\nvar vm=avalon.define({\r\n  $id:'ceshi',\r\n  arr:[1,2],\r\n  click:function(){\r\n    vm.arr.push(' ');\r\n  }\r\n});\r\n\r\nvm.arr.$watch('length',function(newlength,oldlength){  *\u6ce8\u610f1.4.X\u7248\u672c\u76d1\u542c\u6570\u7ec4\u957f\u5ea6\u53d8\u5316\u7528'length'\r\n  \/\/\u65b0\u7684\u957f\u5ea6 \u548c  \u65e7\u7684\u957f\u5ea6\r\n});\r\n\r\n\r\n\r\n1.4.X\u6ca1\u6709\u76d1\u542c\u6570\u7ec4\u5185\u5bb9\u53d8\u5316\uff0c\u6839\u636e\u5df2\u6709\u7684\u529f\u80fd\u53ef\u4ee5\u81ea\u5df1\u5199\u4e00\u4e2a\u76d1\u542c\u6570\u7ec4\u5185\u5bb9\u53d8\u5316\u7684\u56de\u8c03\r\n\r\nvar vm=avalon.define({\r\n    $id:'ceshi',\r\n    arr:[1,2],\r\n    set_status:false,\r\n    fn:function(){\r\n      vm.old_arr=vm.arr+'';\r\n      vm.arr.set(0,'\u5185\u5bb91');\r\n      \/\/ vm.arr.push('\u52a0\u5185\u5bb9');\r\n      if( vm.set_status ){\r\n        vm.arr.push(' ');\r\n      }\r\n    },\r\n    back_fn:function(status){\r\n      if( status=='set' ){\r\n         vm.set_status=true;\r\n      }\r\n    },\r\n});\r\n\r\nvm.arr.$watch('length',function(newvalue,oldvalue){\r\n  if(vm.set_status){\r\n      var new_arr=[];\r\n      for(var i=0;i&lt;newvalue;i++){\r\n         new_arr[i]=vm.arr[i];\r\n      };\r\n      console.log('\u65e7\u6570\u7ec4\uff1a'+vm.old_arr+'---'+'\u65b0\u6570\u7ec4\uff1a'+new_arr);\r\n          document.title=vm.old_arr+'---'+new_arr;\r\n      }else{\r\n          console.log(newvalue+'--'+oldvalue);\r\n   }\r\n});\r\n\r\n\r\n&lt;button ms-click=\"fn\"&gt;\u70b9\u6211&lt;\/button&gt;\r\n\r\n\r\n1.5.X\u589e\u52a0\u4e86\u76d1\u542c\u6570\u7ec4\u5185\u5bb9\u53d8\u5316\u89e6\u53d1\u56de\u8c03\u7684\u529f\u80fd\u3002\r\n\r\nvm.$watch('<span style=\"color: #ff99cc;\">arr.*<\/span>',function(newvalue,oldvalue){\r\n  document.title=newvalue+'--'+oldvalue;\r\n});\r\n\r\n-------------------------------------------\r\n\r\n\u5bf9\u8c61\u7684\u76d1\u542c\uff0c\u53ea\u8981\u503c\u53d8\u5316\u5c31\u56de\u8c03\r\nvar vm=avalon.define({\r\n  $id:'ceshi',\r\n  obj:{\r\n     obj1:{\r\n        obj2:'\u5185\u5bb9'\r\n     }\r\n  },\r\n});\r\n\r\nvm.obj.obj1.$watch('obj2',function(newvalue,oldvalue){    \/\/1.4.X\u7684\u5199\u6cd5 \r\n \/\/newvalue,oldvalue\r\n});\r\n\r\n\r\nvm.$watch('obj.obj1.obj2',function(newvalue,oldvalue){ \/\/ 1.5.x\u7684\u5199\u6cd5\r\n \/\/newvalue,oldvalue\r\n});\r\n\r\n\u6216\u8005\r\n\r\nvm.$watch('obj.*.obj2',function(newvalue,oldvalue){ \/\/ 1.5.x\u7684\u5199\u6cd5,\u4e0d\u7ba1\u4e2d\u95f4\u5404\u4e86\u591a\u5c11\u5c42\u90fd\u80fd\u76d1\u542c\u5230obj2\u7684\u503c\u53d8\u5316\u800c\u89e6\u53d1\r\n \/\/newvalue,oldvalue\r\n});\r\n\r\n---------------------------------------------\r\n\r\n<span style=\"color: #ff99cc;\">$all<\/span> \/\/ \u76d1\u542c\u6240\u6709<span style=\"color: #ff0000;\">\u540c\u7ea7<\/span>\u5c5e\u6027\r\nvm.$watch('$all',function(name,newvalue,oldvalue){  \/\/1.4.X\u76d1\u542c\u7684\u5c5e\u6027\u540d\uff0c\u4fee\u6539\u540e\u7684\u503c\uff0c\u4fee\u6539\u524d\u7684\u503c; 1.5.X\u628a$all\u6539\u6210*\r\n   console.log(name,newvalue,oldvalue);\r\n});\r\n\r\n\u4e0a\u9762\u7684\u4f8b\u5b50\uff0c\u5982\u679c\u9047\u5230\u590d\u6742\u70b9\u7684\u5bf9\u8c61\u5185\u5bb9\u4fee\u6539\u540e\u5c31\u4e0d\u80fd\u76d1\u542c\u5230\u4e86\uff0c\u4f8b\u5982\uff1a\r\nobj:{\r\n  obj1:{\r\n    obj2:'\u5185\u5bb9',  \/\/obj2\u5185\u5bb9\u5982\u679c\u4fee\u6539\u4e86\u4e0a\u9762\u4f8b\u5b50\u662f\u76d1\u542c\u4e0d\u5230\u7684\r\n    obj3:'\u5185\u5bb92'\r\n  }\r\n},\r\n\r\n\u5982\u679c\u60f3\u76d1\u542cobj2\u540c\u7ea7\u7684\u6240\u6709\u5c5e\u6027\uff0c\u90a3\u8981\u8fd9\u6837\u5199\uff1a  <a href=\"https:\/\/sdeno.com\/zp\/ava\/av8.html\" target=\"_blank\">\u5728\u7ebf\u6848\u4f8b<\/a>   \r\nvm.obj.obj1.$watch('$all',function(name,newvalue,oldvalue){   1.4.x\u7684\u5199\u6cd5\r\n  console.log(name,newvalue,oldvalue);\r\n\r\n   \/\/avalon.log(avalon.slice(arguments));\r\n   \/\/ [\"aaa\", 2, 111]\r\n   \/\/ [\"bbb\", 3, 222]\r\n});<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">$unwatch<\/span>\u4e0d\u5e38\u7528 1.5.X\u4e5f\u5e9f\u9664\u4e86\uff0c\u5982\u679c\u9700\u8981\u79fb\u9664$unwatch,\u5c31\u8fd9\u4e48\u4f7f\u7528\uff1a<\/p>\n<pre>var unwatch = vm.$watch(\"array.*\", function(a, b) {\r\n   expect(a).to.be(6)\r\n   expect(b).to.be(2)\r\n})\r\nunwatch() \/\/\u79fb\u9664\u5f53\u524d$watch\u56de\u8c03<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">$fire<\/span> \/\/\u5982\u679c\u60f3\u8981\u91cd\u65b0\u76d1\u542c $\u5f00\u5934\u7684\u5c5e\u6027\u548c $skipArray\u540d\u5355\u4e2d\u7684\u5c5e\u6027\u76d1\u63a7\u5c31\u7528\u5b83<\/p>\n<p>VM\u5c5e\u6027\u7684\u7b2c\u4e00\u5c42\u624d\u6709$fire<\/p>\n<p><a href=\"https:\/\/sdeno.com\/zp\/ava\/av7.html\" target=\"_blank\">$fire\u6848\u4f8b\uff1ahttps:\/\/sdeno.com\/zp\/ava\/av7.html<\/a><\/p>\n<pre>var vm=avalon.define({\r\n  $id:'ceshi',\r\n  click:function(){\r\n     var old= vm['obj'].obj1.<span style=\"color: #ff00ff;\">obj2<\/span>;\r\n     vm.$fire(vm.obj.obj1,'\u8981\u4fee\u6539\u7684\u503c',old);  \/\/\u76d1\u542c\u7684\u5c5e\u6027\u540d\uff0c\u4fee\u6539\u7684\u65b0\u503c\uff0c\u65e7\u503c\r\n  },\r\n  obj:{\r\n    obj1:{\r\n      <span style=\"color: #ff00ff;\">obj2<\/span>:'\u5185\u5bb9',\r\n      obj3:'\u5185\u5bb91',\r\n      $skipArray:['obj2']  \/\/\u53ea\u6709\u628a\u7981\u6b62\u76d1\u542c\u7684\u5c5e\u6027\u540d\u548c\u5b83\u653e\u5728\u540c\u4e00\u5c42\u624d\u6709\u6548\u679c\r\n    }\r\n  }\r\n});\r\n\r\n\r\nvm.$watch('$all',function(name,newvalue,oldvalue){\r\n  console.log(name,newvalue,oldvalue);  \/\/Object {<span style=\"color: #ff00ff;\">obj2<\/span>: \"\u5185\u5bb9\",'''} \"112\" \"\u5185\u5bb9\"\r\n});\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6a21\u5757\u4e4b\u95f4\u7684\u901a\u8baf&#8212;-$fire<\/span><\/p>\n<p>\u63cf\u8ff0\uff1a\u4e5f\u5c31\u662f\u5b9a\u4e49\u597d\u7684ms-controller\u4e4b\u95f4\u53ef\u4ee5\u4f20\u9012\u5c5e\u6027\u6216\u8005\u65b9\u6cd5\uff0c\u4e3b\u8981\u9760down!\uff0cup!\uff0call!<\/p>\n<p>down!\uff0cup! \u00a0 \/\/\u5fc5\u987b\u8981\u7b49dom\u52a0\u8f7d\u5b8c\u6210\u540e\u6267\u884c\uff0c\u540c\u8f88\u7684\u6a21\u5757\u4e0d\u4f20\u9012\uff0c\u5e76\u4e14\u53ea\u4f20\u9012\u7ed9\u81ea\u5df1\u7236\u8f88\u6a21\u5757\u548c\u540e\u4ee3\u6a21\u5757\u3002<\/p>\n<p>all! \u00a0\/\/\u4e0d\u9700\u8981\u7b49\u5e26dom\u52a0\u8f7d\u5b8c\uff0c\u4f20\u9012\u6240\u6709\u6a21\u5757\uff0c\u5305\u62ec\u540c\u8f88\u6a21\u5757<\/p>\n<p>\u5728\u7ebf\u6848\u4f8b\uff1a<a href=\"https:\/\/sdeno.com\/zp\/ava\/av9.html\" target=\"_blank\">https:\/\/sdeno.com\/zp\/ava\/av9.html<\/a><\/p>\n<p><a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/04\/avalon_note.txt\">avalon_note<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6df1\u62f7\u8d1d\u548c\u6d45\u62f7\u8d1d<\/span>\u7c7b\u4f3cJQ\u7684$.extend<\/p>\n<p>avalon.mix \u00a0 \/\/\u8c8c\u4f3c\u6709\u70b9\u95ee\u9898\uff0c<a href=\"https:\/\/github.com\/RubyLouvre\/avalon\/issues\/509\">https:\/\/github.com\/RubyLouvre\/avalon\/issues\/509<\/a><\/p>\n<p>\u5982\u679c\u9700\u8981\u8fd8\u662f\u7528JQ\u5427<\/p>\n<p>var aa = avalon.mix(true, [], vm.$model.arr)<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0\u81ea\u5b9a\u4e49\u6307\u4ee4\uff08\u7ed1\u5b9a\uff09<\/span>directive \u00a0\u57fa\u4e8ems-*\u4e0b\u6269\u5c55\u7684 \u00a0(\u5b83\u53ef\u4ee5\u53d6\u4ee3ms-duplex\u53c8\u4e00\u4e2a\u65b0\u7684\u53cc\u5411\u6570\u636e\u7ed1\u5b9a\u6307\u4ee4)<\/p>\n<pre>var vm=avalon.define({\r\n   $id:'ceshi',\r\n   value:187\r\n});\r\n\r\navalon.directive('diy',{  \/\/\u9875\u9762\u9ed8\u8ba4\u52a0\u8f7d\u90fd\u4f1a\u6267\u884cinit\u548cupdate\u5404\u4e00\u6b21\r\n   init:function(e){\r\n      console.log(e); \/\/\u67e5\u770b\u4e0b\r\n      avalon(e.element).addClass('fff');\r\n      console.log(this);  \/\/\u8fd9\u91cc\u7684this\u5305\u62ec\u4e86 inti\u51fd\u6570\u548cupdate\u51fd\u6570\r\n      e.meimei='\u59b9\u59b9';\r\n   },\r\n   update:function(newvalue, oldValue){ \/\/\u529f\u80fd\u4e0a\u7c7b\u4f3c$watch,\u5982\u679c\u76d1\u542c\u7684value\u503c\u53d1\u751f\u53d8\u5316\uff0cupdate\u4f1a\u518d\u6b21\u88ab\u6267\u884c\u56de\u8c03\u4e00\u6b21\r\n      console.log(this); \/\/\u8fd9\u91cc\u7684this\u662f\uff0c\u5176\u5b9e\u662finit\u4f20\u8fc7\u6765\u7684e\u5bf9\u8c61\uff0c\u67e5\u770b\u4e0b\u662f\u5426\u6709meimei\u7684\u5c5e\u6027\u503c\u4e3a\u59b9\u59b9\u54af\r\n   }\r\n});\r\n\r\n\r\n&lt;button ms-diy=\"value\" ms-click=\"click\"&gt;\u70b9&lt;\/button&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">avalon.scan()\u540e\u7684\u56de\u8c03<\/span><\/p>\n<pre>\u00a0avalon1.5.6\r\n\u6dfb\u52a0\u626b\u63cf\u540e\u7684\u56de\u8c03 \u5728\u76ee\u6807DIV\u52a0\u4e0ams-controller=\"test\", $id\u4e3atest\u7684VM\u76d1\u542c\u4e00\u4e2a\"ms-scan-end\"\u56de\u8c03\r\nvm.$watch(\"ms-scan-end\", function(div){\r\n    \/\/div\u4e3a\u7ed1\u5b9a\u7684\u5143\u7d20\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0\u52a8\u753beffect<\/span>\u00a0(avalon\u5c45\u7136\u8fd8\u63d0\u4f9b\u52a8\u753b\uff0c\u73b0\u5728avalon\u662f\u8d8a\u6765\u8d8a\u5f3a\u5927\u4e86\uff0c\u7b80\u5355\u52a8\u753b\u53ef\u4ee5\u4f7f\u7528\uff0c\u590d\u6742\u7684\u8fd8\u662f\u4f7f\u7528JQ\u5df2\u7ecfJQ\u76f8\u5173\u63d2\u4ef6\u5427\uff0c\u6bd5\u7adfavalon\u4e3b\u8981\u662f\u5904\u7406\u53cc\u5411\u6570\u636e\u7ed1\u5b9a\u800c\u5b58\u5728\u7684)<\/p>\n<p>\u4f5c\u8005\u63d0\u4f9b\u7684\u5b9e\u4f8b\uff1a<a href=\"https:\/\/github.com\/RubyLouvre\/avalon\/issues\/897#issuecomment-128355485\" target=\"_blank\">\u00a0https:\/\/github.com\/RubyLouvre\/avalon\/issues\/897#issuecomment-128355485<\/a><\/p>\n<p>avalon\u7684\u52a8\u753b\u89e6\u53d1\u6761\u4ef6\u57fa\u672c\u90fd\u662f\u63d2\u5165DOM\u6216\u8005\u5220\u9664\u3001\u9690\u85cfDOM\u65f6\u5019\u624d\u80fd\u52a0\u4e0a\u52a8\u753b\u6548\u679c<\/p>\n<pre>\/\/js\u52a8\u753b\u6f14\u793a\r\n\r\navalon.effect(\"expand\", {  \/\/ms-effect=\"expand\"\r\n leave: function (elem, done) {\r\n    $(elem).hide(300,done)\/\/ \u6b64DOM\u9690\u85cf\u6216\u8005\u79fb\u9664\u65f6\u5019\u7684\u52a8\u753b\u5199\u8fd9\u91cc\uff0c\u5e76\u4e14\u52a8\u753b\u7ed3\u675f\u540e\u8981\u56de\u8c03\u53bb\u6267\u884c\u8fd9\u4e2adone\u51fd\u6570\uff0c\u4e0d\u7136\u5c31\u4e0d\u4f1a\u6709afterLeave\u7684\u56de\u8c03\u4e86\r\n },\r\n enter: function (elem, done) {\r\n    $(elem).show(300, done) \/\/\u6b64DOM\u663e\u793a\u6216\u8005\u63d2\u5165\u65f6\u5019\u7684\u52a8\u753b\u5199\u8fd9\u91cc\uff0c\u5e76\u4e14\u52a8\u753b\u7ed3\u675f\u540e\u8981\u56de\u8c03\u53bb\u6267\u884c\u8fd9\u4e2adone\u51fd\u6570\uff0c\u4e0d\u7136\u5c31\u4e0d\u4f1a\u6709afterLeave\u7684\u56de\u8c03\u4e86\r\n },\r\n beforeLeave: function () {\/\/\u5728\u52a8\u753b\u524d\u505a\u4e00\u4e9b\u4e8b\r\n    console.log(\"beforeLeave\")\r\n },\r\n afterLeave: function () {\r\n    console.log(\"afterLeave\")\/\/\u5728\u52a8\u753b\u540e\u505a\u4e00\u4e9b\u4e8b\uff0c\u8fd9\u91cc\u8981\u6267\u884c\u7684\u8bdd\uff0c\u52a8\u753b\u6267\u884c\u5b8c\u540e\u5fc5\u987b\u8981\u56de\u8c03\u4e00\u4e0bleave\u548center\u4e2d\u7684done\u51fd\u6570\uff0c\u4e0d\u7136\u8fd9\u91cc\u662f\u4e0d\u4f1a\u6267\u884c\u7684\r\n },\r\n cancelLeave: function () {\r\n     \/\/\u6682\u65f6\u4e0d\u61c2\u5e72\u561b\u7684\r\n }\r\n})\r\n\r\n&lt;div ms-click=\"hide\" class=\"jsani\" ms-effect=\"expand\"&gt;\u70b9\u6211\u6267\u884c\u52a8\u753b&lt;\/div&gt;\r\n\r\n\r\navalon\u7684\u52a8\u753b\u89e6\u53d1\u6761\u4ef6\u57fa\u672c\u90fd\u662f\u63d2\u5165DOM\u6216\u8005\u5220\u9664\u3001\u9690\u85cfDOM\u65f6\u5019\u624d\u80fd\u52a0\u4e0a\u52a8\u753b\u6548\u679c\uff0c\r\neffect\u4ee3\u7801\u90e8\u7f72\u5b8c\u6210\uff0c\u4f46\u662f\u8981\u89e6\u53d1effect\u5bf9\u8c61\u9700\u8981\u4ee5\u4e0b\u65b9\u6cd5\uff1a\r\n\r\nms-if       \/\/\u53ea\u6709enter\u52a8\u753b;\r\nms-include  \/\/\u540c\u65f6\u6709enter, leave\u52a8\u753b;\r\nms-visible  \/\/\u89c6\u5143\u7d20\u7684\u9690\u85cf\u663e\u793a\u60c5\u51b5\u91c7\u7528enter\u6216leave\u52a8\u753b;\r\nms-repeat   \/\/\u89c6\u5143\u7d20\u7684\u63d2\u5165\u6216\u79fb\u9664\u60c5\u51b5\uff0c\u4f7f\u7528enter\u6216leave\u52a8\u753b\uff0c\u6b64\u5916\u8fd8\u6709move\u52a8\u753b;\r\n\r\n\u6216\u8005\u9760JS\u589e\u3001\u5220DOM\u6765\u89e6\u53d1effect\u5bf9\u8c61\u52a8\u753b\uff0c\u5982\uff1a\r\ndel: function () {\r\n  avalon.effect.remove(this, this.parentNode, function (el) {  \/\/\u5220\u9664this.parentNode\u5143\u7d20\u91cc\u9762\u7684this\u5143\u7d20\r\n    console.log(el);  \/\/\u8fd9\u91cc\u7684el\u662f\u5220\u9664\u5143\u7d20\u7684dom,\u5e76\u4e14\u5143\u7d20\u5220\u9664\u6210\u529f\u540e\u624d\u56de\u8c03\u6b64\u5904\u4ee3\u7801\r\n  })\r\n},\r\nadd: function () {\r\n  avalon.effect.append(el, document.body, function (el) {     \/\/\u5728\u5143\u7d20document.body\u7684\u5185\u90e8\u540e\u9762\u52a0\u4e0ael\u5143\u7d20\r\n    console.log(el)\r\n  })\r\n},\r\nadd2: function () {\r\n  avalon.effect.before(el, document.body, function (el) { \/\/\u5728\u5143\u7d20document.body\u7684\u5185\u90e8\u524d\u9762\u52a0\u4e0ael\u5143\u7d20\r\n    console.log(el)\r\n  })\r\n}\r\n\r\n\u4ee5\u4e0a\u7684\u6267\u884c\u987a\u5e8f\u548c\u6b65\u9aa4\u662f\uff1abeforeLeave &gt; leave || enter &gt; afterLeave &gt; avalon.effect.append || avalon.effect.before || avalon.effect.remove\u7684\u56de\u8c03<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u00a0\u81ea\u5b9a\u4e49UI\u7ec4\u4ef6<\/span>\u00a0avalon.component \u00a0\uff08\u8981\u914d\u5408CSS\u548cJS\u7528\uff0c\u4e5f\u5c31\u662f\u81ea\u5b9a\u4e49\u597ddiv\u7ed3\u6784\uff0c\u7528\u7684\u65f6\u5019\u63d2\u5165\u5c31\u884c\u76f4\u63a5\u5c31\u6709\u6548\u679c\u4e86\uff09<\/p>\n<pre>avalon.component('ms:diy',{\r\n   $init:function(event,dom){\r\n     console.log(event,dom); \/\/\u4f18\u5148\u6267\u884c\uff0c\u8d77\u5230\u521d\u59cb\u5316\u53d8\u91cf\u7684\u4f5c\u7528\r\n   },\r\n   $ready: function(event,dom) {\r\n     \/\/DOM\u52a0\u8f7d\u5b8c\u6210\u540e\uff0c\u6267\u884c\r\n   },\r\n   $replace:true, \/\/\u5e03\u5c14\u503c\u4e3a\u771f\uff0c\u4f1a\u5c06&lt;ms:diy&gt;&lt;\/ms:diy&gt;\u5143\u7d20\u4f1a\u88ab$template\u91cc\u9762\u7684\u5143\u7d20\u8986\u76d6\u6210\uff1b\u5982\u679c\u4e3a\u5047\uff0c\u5c31\u5728&lt;ms:diy&gt;&lt;\/ms:diy&gt;\u91cc\u9762\u63d2\u5165$template\u6a21\u677f\r\n   $template:'&lt;input type=\"text\" ms-duplex=\"text\"&gt;' \/\/\u8981\u5728&lt;ms:diy&gt;&lt;\/ms:diy&gt;\u4e2d\u63d2\u5165\u7684\u6a21\u677f\uff0c\u9ed8\u8ba4\u89e3\u6790html\u6807\u7b7e\r\n});\r\n\r\n&lt;ms:diy&gt;&lt;\/ms:diy&gt; \r\n\r\n<\/pre>\n<p>\u5177\u4f53\u6559\u7a0b\uff1a<a href=\"http:\/\/avalonjs.github.io\/#tutorial\/component\/index.html\" target=\"_blank\">http:\/\/avalonjs.github.io\/#tutorial\/component\/index.html<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>1.5.x<span style=\"color: #ff0000;\">\u7981\u7528\u5f02\u6b65<\/span><\/p>\n<p>\u57281.5.x\u4e2dVM\u7684\u6bcf\u4e2a\u5c5e\u6027\u7684\u503c\u90fd\u662f\u5f02\u6b65\u66f4\u65b0\u89c6\u56fe\u4e2d\u7684\u6570\u636e\u7684\uff0c\u5728\u81ea\u5b9a\u4e49\u62e6\u622a\u5668\u65f6\u5019\u5982\u679c\u56e0\u4e3a\u5f02\u6b65\u95ee\u9898\u53ef\u4ee5\u7981\u7528\u5f02\u6b65\u5982\uff1a<\/p>\n<pre>avalon.config({\r\n   async: false\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>avalon 1.5.6 \u00a0\u65b0\u589e\u5df2\u7ecf\u4fee\u6539<\/p>\n<p>\u300a<a href=\"https:\/\/sdeno.com\/?p=4976\" target=\"_blank\">avalon1.5.x\u65b0\u589e\u529f\u80fd\u4ee5\u53ca\u4fee\u6539<\/a>\u300b<\/p>\n<p><a href=\"https:\/\/github.com\/RubyLouvre\/avalon\/tree\/1.5\">https:\/\/github.com\/RubyLouvre\/avalon\/tree\/1.5<\/a><\/p>\n<p>\u6b63\u7f8e\u535a\u5ba21.5.X<a href=\"http:\/\/www.cnblogs.com\/rubylouvre\/p\/4783966.html\">http:\/\/www.cnblogs.com\/rubylouvre\/p\/4783966.html<\/a><\/p>\n<p>1,\u6dfb\u52a0\u52a8\u753b\u6307\u4ee4 ms-effect avalon.effect \u00a0\u00a0<a href=\"http:\/\/avalonjs.github.io\/#tutorial\/directives\/effect.html\" target=\"_blank\">http:\/\/avalonjs.github.io\/#tutorial\/directives\/effect.html<\/a><\/p>\n<p>2,\u6dfb\u52a0\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6807\u7b7e\u7684\u7ec4\u4ef6\u6307\u4ee4\u00a0<a href=\"http:\/\/avalonjs.github.io\/#tutorial\/component\/index.html\" target=\"_blank\">http:\/\/avalonjs.github.io\/#tutorial\/component\/index.html<\/a><\/p>\n<p>3,$watch\u65b9\u6cd5\u548c\u89e3\u9664\u76d1\u542c\u00a0\u00a0<a href=\"http:\/\/avalonjs.github.io\/#tutorial\/concepts\/$watch.html\" target=\"_blank\">http:\/\/avalonjs.github.io\/#tutorial\/concepts\/$watch.html<\/a><\/p>\n<p>4,\u8ba1\u7b97\u5c5e\u6027\u5168\u90e8\u79fb\u52a8$computed\u5bf9\u8c61\u4e0a\u96c6\u4e2d\u5b9a\u4e49\u00a0<a href=\"http:\/\/avalonjs.github.io\/#tutorial\/concepts\/computed.html\" target=\"_blank\">http:\/\/avalonjs.github.io\/#tutorial\/concepts\/computed.html<\/a><\/p>\n<p>5,avalon1.5\u65b0\u6dfb\u52a0\u7684API,avalon.directive, \u7528\u4e8e\u5feb\u901f\u521b\u5efa\u4e00\u79cd\u5168\u65b0\u7684\u6307\u4ee4! <a href=\"http:\/\/avalonjs.github.io\/#tutorial\/directives\/custom.html\">\u00a0http:\/\/avalonjs.github.io\/#tutorial\/directives\/custom.html<\/a><\/p>\n<p>6,\u5e9f\u6389avalon.define\u7684\u65e7\u98ce\u683c\u5b9a\u4e49,\u53ea\u652f\u6301\u65b0\u98ce\u683c<br \/>\n7,\u5e9f\u6389data-duplex-observe\u8f85\u52a9\u6307\u4ee4<br \/>\n8,\u5e9f\u6389ms-widget \u8be6\u770bcomponent\/pager\/avalon.pager.js \u662f\u600e\u4e48\u5c06\u539f\u6765\u7ec4\u4ef6\u6539\u6210\u65b0\u7ec4\u4ef6\u7684<\/p>\n<p>9,\u6dfb\u52a0$fire(&#8220;all!xxx&#8221;)\u7684\u652f\u6301<\/p>\n<p>10,configs \u6539\u540d\u4e3a config<\/p>\n<p>11,$extends \u6539\u540d\u4e3a $extend<\/p>\n<p>12,\u5168\u65b0\u7684parser<\/p>\n<p>13,ms-scan-end \u56de\u8c03<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-avalon\u4e2d\u7684jQuery\u529f\u80fd&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>\u5bf9\u4e8e\u7528\u60efjQuery\u6765\u83b7\u53d6DOM\u6765\u64cd\u4f5c\u7684\u4e5f\u53ef\u4ee5\u5728avalon\u4e0a\u4f7f\u7528\uff0c\u4f8b\u5982<\/p>\n<p>\u83b7\u53d6\u5f53\u524d\u5bf9\u8c61\u7684DOM<\/p>\n<pre>var vm=avalon.define({\r\n  $id:'ceshi',\r\n  click_ed:function(){\r\n      <span style=\"color: #ff0000;\">avalon(this)<\/span>.addClass('hover').width(300);\r\n      \/\/\u5728\u54ea\u4e2aDOM\u4e0a\u7ed1\u5b9a\u4e86click_ed\u8fd9\u91cc\u7684avalon(this)\u6307\u7684\u5c31\u662f\u5f53\u524d\u7684\u5b83\uff0c\u8ddf\u64cd\u4f5cJQ\u662f\u4e00\u6837\u7684\r\n  }\r\n});\r\n\r\n&lt;div ms-click=\"click_ed\"&gt;me&lt;\/div&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u4ee5\u4e0b\u65b9\u6cd5\u8ddfjquery\u7528\u6cd5\u4e00\u6837\uff0c\u5728avalon\u4e2d\u8981\u4f7f\u7528\u4ee5\u4e0b\u65b9\u6cd5\u6765\u64cd\u4f5cdom\u5c31\u8981\u628adom\u5c01\u88c5\u6210avalon\u5bf9\u8c61\uff0c\u4f8b\u5982\uff1a<\/p>\n<pre><span style=\"color: #ff0000;\">avalon(dom)<\/span>.css()<\/pre>\n<p>&nbsp;<\/p>\n<pre>\u7ed1\u5b9a\u4e8b\u4ef6\uff1a\r\nbind()\r\nunbind()<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<pre>\u6837\u5f0f\uff1a\r\n css()\r\n width()\r\n height()\r\n innerWidth()\r\n innerHeight()\r\n outerWidth()\r\n outerHeight()\r\n position()\r\n offset()\r\n offsetParent()\r\n scrollLeft()\r\n scrollTop()\r\n addClass()\r\n removeClass()\r\n hasClass()\r\n toggleClass()<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<pre> \u5143\u7d20\u5c5e\u6027\r\n attr()\r\n val()\r\n data()\r\n removeData()<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<table class=\"table table-bordered\" border=\"1\">\n<tbody>\n<tr>\n<th>\u65b9\u6cd5\u6216\u5c5e\u6027<\/th>\n<th>\u63cf\u8ff0<\/th>\n<\/tr>\n<tr>\n<td>mix(a,b)<\/td>\n<td>\u2605\u2605\u2605\u76f8\u5f53\u4e8ejQuery.extend\uff0c\u53c2\u6570\u4e2a\u6570\u4e0d\u5b9a\uff0c\u7528\u4e8e\u6df1\u6d45\u62f7\u8d1d\u5c5e\u6027\uff0c\u6bd4\u5982avalon.mix(a), avalon.mix(true, target, c, d)<\/td>\n<\/tr>\n<tr>\n<td>log(s)<\/td>\n<td>\u6253\u5370\u65e5\u5fd7, \u53c2\u6570\u4e2a\u6570\u4e0d\u5b9a\uff0c \u6bd4\u5982<br \/>\navalon.log(a);<br \/>\navalon.log(a, b)<\/td>\n<\/tr>\n<tr>\n<td>isFunction(s)<\/td>\n<td>\u5224\u5b9a\u662f\u5426\u4e3a\u51fd\u6570,1.3.6\u65b0\u589e<br \/>\navalon.isFunction(alert) ==&gt; true<\/td>\n<\/tr>\n<tr>\n<td>error(s)<\/td>\n<td>\u629b\u51fa\u5f02\u5e38\uff0c\u6bd4\u5982avalon.error(&#8216;\u7c7b\u578b\u4e0d\u6b63\u786e&#8217;)<\/td>\n<\/tr>\n<tr>\n<td>ui<\/td>\n<td>\u4e00\u4e2a\u5bf9\u8c61\uff0c\u7528\u4e8e\u653e\u7f6e\u5404\u79cdwidget\u7684\u6784\u9020\u5668\u3002\u5927\u5bb6\u5728\u63a7\u5236\u53f0\u4e0b\u67e5\u770bconsole.log(avalon.ui)\u5c31\u660e\u767d\u4ec0\u4e48\u56de\u4e8b\u4e86\u3002<\/td>\n<\/tr>\n<tr>\n<td>vmodels<\/td>\n<td>\u2605\u2605\u2605\u7528\u4e8e\u653e\u7f6eavalon.define(id, fn)\u4ea7\u751f\u7684ViewModel\u3002\u5927\u5bb6\u5728\u63a7\u5236\u53f0\u4e0b\u67e5\u770bconsole.log(avalon.vmodels)\u5c31\u660e\u767d\u4ec0\u4e48\u56de\u4e8b\u4e86\u3002<\/td>\n<\/tr>\n<tr>\n<td>noop<\/td>\n<td>\u4e00\u4e2a\u7a7a\u51fd\u6570<\/td>\n<\/tr>\n<tr>\n<td>ready(fn)<\/td>\n<td>\u2605\u2605\u2605domReady\uff0c\u5c06\u56de\u8c03\u5ef6\u8fdf\u5230DOM\u6811\u540e\u624d\u6267\u884c<br \/>\navalon.ready(function(){alert(&#8216;\u9875\u9762\u4e0a\u7684\u6807\u7b7e\u5df2\u7ecf\u5168\u90e8\u53d8\u6210DOM\u5bf9\u8c61&#8217;)})<\/td>\n<\/tr>\n<tr>\n<td>oneObject(str | array, val?)<\/td>\n<td>\u2605\u2605\u2605\u5982\u679c\u4f20\u5165\u4e00\u4e2a\u5b57\u7b26\u4e32\u5219\u5c06\u5b83\u4ee5\u9017\u53f7\u8f6c\u6362\u4e3a\u4e00\u4e2a\u5b57\u7b26\u4e32\u6570\u7ec4\uff0c\u5426\u5219\u4e00\u5b9a\u8981\u4f20\u5b57\u7b26\u4e32\u6570\u7ec4\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u53ef\u9009\uff0c\u4e3a\u751f\u6210\u7684\u5bf9\u8c61\u7684\u503c\u3002\u6b64\u65b9\u6cd5\u662f\u7528\u4e8e\u751f\u6210\u4e00\u4e2a\u952e\u540d\u4e0d\u4e00\u6837\uff0c\u4f46\u952e\u503c\u90fd\u4e00\u6837\u7684\u5bf9\u8c61\u3002\u6bd4\u5982<br \/>\navalon.oneObject(&#8216;a,b,c,d&#8217;) ==&gt; {a:1, b:1, c:1, d:1}<\/td>\n<\/tr>\n<tr>\n<td>type(obj)<\/td>\n<td>\u2605\u2605\u2605\u8fd4\u56de\u4f20\u53c2\u7684\u6570\u636e\u7c7b\u578b\uff0c\u503c\u53ef\u80fd\u4e3aarray, date, object, json, number, string, null, undefined\uff0c\u6bd4\u5982<br \/>\navalon.type(&#8216;aaa&#8217;) ==&gt; &#8216;string&#8217;<br \/>\navalon.type(12345) ==&gt; &#8216;number&#8217;<br \/>\navalon.type(null) ==&gt; &#8216;null&#8217;<br \/>\navalon.type(void 0) ==&gt; &#8216;undefined&#8217;<br \/>\navalon.type(window) ==&gt; &#8216;object&#8217;<br \/>\navalon.type([1,2,3]) ==&gt; &#8216;array&#8217;<\/td>\n<\/tr>\n<tr>\n<td>isWindow(obj)<\/td>\n<td>\u5224\u5b9a\u662f\u5426\u4e3awindow\u5bf9\u8c61<\/td>\n<\/tr>\n<tr>\n<td>isPlainObject(obj)<\/td>\n<td>\u5224\u5b9a\u662f\u5426\u662f\u4e00\u4e2a\u6734\u7d20\u7684javascript\u5bf9\u8c61\uff08Object\uff09\uff0c\u4e0d\u662fDOM\u5bf9\u8c61\uff0c\u4e0d\u662fBOM\u5bf9\u8c61\uff0c\u4e0d\u662f\u81ea\u5b9a\u4e49\u7c7b\u7684\u5b9e\u4f8b<\/td>\n<\/tr>\n<tr>\n<td>slice(obj, start?, end?)<\/td>\n<td>\u7528\u4e8e\u8f6c\u6362\u4e00\u4e2a\u7c7b\u6570\u7ec4\u5bf9\u8c61\u4e3a\u4e00\u4e2a\u7eaf\u6570\u7ec4\uff0c\u540e\u9762\u4e24\u4e2a\u4e3a\u7d22\u5f15\u503c\uff0c\u53ef\u4ee5\u53ea\u53d6\u539f\u5bf9\u8c61\u7684\u4e00\u90e8\u5206\u5143\u7d20\uff0c\u6bd4\u5982<br \/>\navalon.slice(document.getElementsByTagName(&#8216;p&#8217;), 10)<br \/>\navalon.slice(arguments)<\/td>\n<\/tr>\n<tr>\n<td>range(start, end, step)<\/td>\n<td>\u751f\u6210\u4e00\u4e2a\u6574\u6570\u6570\u7ec4\uff0c\u529f\u80fd\u4e0eunderscorejs\u6216python\u7684\u540c\u540d\u51fd\u6570\u4e00\u81f4\uff0c\u6bd4\u5982<br \/>\navalon.range(10) ==&gt; [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]<br \/>\navalon.range(1, 11) ==&gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<br \/>\navalon.range(0, 30, 5) ==&gt; [0, 5, 10, 15, 20, 25]<br \/>\navalon.range(0, -10, -1) ==&gt; [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]avalon.range(0) ==&gt; []<\/td>\n<\/tr>\n<tr>\n<td>bind(el, type, fn, phase?)<\/td>\n<td>\u7ed1\u5b9a\u4e8b\u4ef6\uff0c\u8fd4\u56de\u4e00\u4e2a\u56de\u8c03\u7ed9\u4f60\u81ea\u884c\u5378\u8f7d\uff0c\u6bd4\u5982<br \/>\navalon.bind(document.body, &#8216;keydown&#8217;, callback)<\/td>\n<\/tr>\n<tr>\n<td>unbind(el, type, fn, phase)<\/td>\n<td>\u5378\u8f7d\u4e8b\u4ef6\uff0c\u6bd4\u5982<br \/>\navalon.unbind(document.body, &#8216;keydown&#8217;, callback)<\/td>\n<\/tr>\n<tr>\n<td>each(obj,fn)<\/td>\n<td>\u2605\u2605\u2605\u529f\u80fd\u540cjQuery.each\uff0c \u90fd\u662f\u7d22\u5f15\u503c\u6216\u952e\u540d\u5728\u524d\uff0c\u503c\u6216\u5143\u7d20\u5728\u540e<\/td>\n<\/tr>\n<tr>\n<td>avalon.define(id, factory)<\/td>\n<td>\u2605\u2605\u2605\u5b9a\u4e49\u4e00\u4e2aViewModel,<br \/>\n\u65e7\u98ce\u683c\uff1a avalon.define(&#8216;test&#8217;, function(vm){ vm.aaa = 1})<br \/>\n\u65b0\u98ce\u683c\uff1a avalon.define({$id: &#8216;test&#8217;, aaa: 1})<br \/>\nid\uff1a \u7528\u6765\u5b9a\u4e49VM\u7684$id\u5c5e\u6027<br \/>\nfactory: \u7528\u6765\u6536\u96c6vm\u5c5e\u6027\u5e76\u521d\u59cb\u5316\u503c,\u5e76\u4e14\u89c4\u5b9a\u54ea\u4e9b\u53ef\u76d1\u63a7\u7684\uff0c\u54ea\u662f\u9700\u8981\u8ba1\u7b97\u7684\uff0c\u54ea\u4e9b\u662f\u4e0d\u53ef\u76d1\u63a7\u7684<\/td>\n<\/tr>\n<tr>\n<td>scan(el?, vmodels?)<\/td>\n<td>\u2605\u2605\u2605\u626b\u63cfDOM\u6811\uff0c\u62bd\u53d6\u7ed1\u5b9a(el\u9ed8\u8ba4\u4e3aDOM,vmodels\u9ed8\u8ba4\u4e3a\u7a7a\u6570\u7ec4<br \/>\navalon\u9ed8\u8ba4\u5728domReady\u65f6\uff0c\u4ecebody\u5f00\u59cb\u626b\u63cf\u4e00\u6b21\uff0c\u4ee5\u540e\u81ea\u5df1\u52a8\u6001\u6dfb\u52a0\u4e86\u65b0\u5185\u5bb9\uff0c\u9700\u8981\u81ea\u5df1\u624b\u52a8scan\u3002<br \/>\n\u5982\u679c\u4f60\u7684VM\u662f\u5b9a\u4e49\u5728\u67d0\u4e2a\u56de\u8c03\u91cc\u9762\uff0c\u5982require\u56de\u8c03\uff0c\u4e5f\u9700\u8981\u81ea\u5df1\u624b\u52a8\u626b\u63cf<\/td>\n<\/tr>\n<tr>\n<td>define(id?, deps?, factory)<\/td>\n<td>\u25cf\u4e00\u4e2a\u5168\u5c40\u65b9\u6cd5\uff0c\u7528\u4e8e\u5b9a\u4e49AMD\u89c4\u8303\u7684JS\u6a21\u5757<\/td>\n<\/tr>\n<tr>\n<td>require(deps, callback)<\/td>\n<td>\u25cf\u4e00\u4e2a\u5168\u5c40\u65b9\u6cd5\uff0c\u7528\u4e8e\u52a0\u8f7dJS\u6a21\u5757<\/td>\n<\/tr>\n<tr>\n<td>css(node, name, value?)<\/td>\n<td>\u5982\u679c\u53ea\u6709\u4e24\u4e2a\u53c2\u6570\uff0c\u8bfb\u53d6\u5143\u7d20\u7684\u67d0\u4e2a\u6837\u5f0f\uff0c\u4e09\u4e2a\u53c2\u6570\u65f6\uff0c\u8bbe\u7f6e\u5143\u7d20\u67d0\u4e2a\u6837\u5f0f;<br \/>\n\u5728\u8bbe\u7f6e\u6837\u5f0f\u65f6,\u5982\u679c\u662f\u957f\u5bbd\u7b49\u8ba1\u91cf\u5c5e\u6027,\u4f60\u53ef\u4ee5\u76f4\u63a5\u4f20\u4e00\u4e2a\u6570\u503c,\u6846\u67b6\u4f1a\u81ea\u52a8\u5e2e\u4f60\u6dfb\u52a0px\u5355\u4f4d;<br \/>\n\u5982\u679c\u662f\u53d6\u503c\u65f6,\u4f60\u7684\u7b2c\u4e09\u4e2a\u53c2\u6570\u662ftrue,\u5b83\u4f1a\u5e2e\u4f60\u53bb\u6389\u5355\u4f4d,\u8f6c\u6362\u4e3a\u7eaf\u6570\u503c<\/td>\n<\/tr>\n<tr>\n<td>nextTick(fn)<\/td>\n<td>\u5ef6\u8fdf\u6267\u884c\u67d0\u4e2a\u51fd\u6570\uff0c\u7c7b\u4f3c\u4e8esetTimeout(fn, 0)<\/td>\n<\/tr>\n<tr>\n<td>contains(a, b)<\/td>\n<td>\u5224\u5b9aA\u5143\u7d20\u5305\u542bB\u5143\u7d20\uff0c\u6bd4\u5982<br \/>\navalon.contains(document.documentElement, document.body) ==&gt; true<\/td>\n<\/tr>\n<tr>\n<td>parseHTML(str)<\/td>\n<td>\u5c06\u4e00\u6bb5\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3a\u6587\u6863\u788e\u7247<\/td>\n<\/tr>\n<tr>\n<td>innerHTML(node, str)<\/td>\n<td>\u5bf9\u8282\u70b9node\u8fdb\u884cinnerHTML\u64cd\u4f5c\uff0c\u5728\u65e7\u5f0fIE\u4e0b\uff0chead, table, td, tr, th\u7b49\u5143\u7d20\u7684innerHTML\u662f\u53ea\u8bfb\uff0c\u8fd9\u4e2a\u65b9\u6cd5\u8fdb\u884c\u4e86\u517c\u5bb9\u5904\u7406<\/td>\n<\/tr>\n<tr>\n<td>clearHTML(node)<\/td>\n<td>\u6e05\u7a7a\u5143\u7d20\u7684\u6240\u6709\u5b50\u8282\u70b9<\/td>\n<\/tr>\n<tr>\n<td>Array.remove(array, el)<\/td>\n<td>\u79fb\u9664\u67d0\u4e2a\u5143\u7d20\uff0c\u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u8fd4\u56defalse<\/td>\n<\/tr>\n<tr>\n<td>Array.removeAt(array, index)<\/td>\n<td>\u79fb\u9664\u67d0\u4e2a\u4f4d\u7f6e\u4e0a\u7684\u5143\u7d20\uff0c\u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u8fd4\u56defalse<\/td>\n<\/tr>\n<tr>\n<td>Array.ensure(array, el)<\/td>\n<td>\u53ea\u6709\u6570\u7ec4\u4e0d\u5b58\u5728\u6b64\u5143\u7d20\u65f6\u624d\u6dfb\u52a0\u5b83<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"http:\/\/avalonjs.github.io\/#api.html\" target=\"_blank\">http:\/\/avalonjs.github.io\/#api.html<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;avalon \u00a0UI\u7ec4\u4ef6\u5df2\u7ecf\u529f\u80fd\u8865\u5168&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>avalon\u4ec5\u4ec5\u662f\u53cc\u5411\u6570\u636e\u7ed1\u5b9a\u529f\u80fd\u6bd4\u8f83\u5f3a\u5927\uff0c\u4f46\u662f\u7f3a\u5c11ajax\u3001cookies\u3001\u8868\u5355\u9a8c\u8bc1\u7b49\u7b49\u7b2c\u4e09\u65b9\u63d2\u4ef6\u5176\u4ed6\u7684\u529f\u80fd\u3002<\/p>\n<p>\u4f60\u60f3\u8981\u7684\u8fd9\u91cc\u57fa\u672c\u90fd\u6ee1\u8db3\uff1a<a href=\"http:\/\/ued.qunar.com\/oniui\/index.html#!\/widgets\" target=\"_blank\">http:\/\/ued.qunar.com\/oniui\/index.html#!\/widgets<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>avalon\u7b14\u8bb0 \u2605\u65e0\u804a\u901b\u901b\u770b\u770b\u5df2\u7ecf\u89e3\u51b3\u7684\u95ee\u9898\u548c\u4e00\u4e9b\u6848\u4f8b\uff1ahttps:\/\/github.com\/RubyLou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,11],"tags":[],"class_list":["post-3699","post","type-post","status-publish","format-standard","hentry","category-avalon-js","category-11"],"_links":{"self":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/3699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3699"}],"version-history":[{"count":0,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/3699\/revisions"}],"wp:attachment":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}