±à¼ÍƼö: |
±¾ÎÄÀ´×Ôinfoq£¬ÎÄÕÂÖ÷Òª½éÉÜÈçºÎÉè¼ÆÒ»¸ö¸ßÀ©Õ¹µÄÔÚÏßÍøÒ³ÖÆ×÷ƽ̨£¬»á½»´úһЩ±³¾°ºÍ×îÖÕµÄЧ¹ûÒÔ¼°ºËÐÄÉè¼Æ·½°¸¡£ |
|
±³¾°
2018 Äê 3 Ô·ݿªÊ¼£¬Ëæ×ÅÔËÂúÂúµÄ¿ìËÙ·¢Õ¹£¬¿ªÊ¼ÔÚÆµ·±µÄµü´ú¸÷Öֻ£¬ÄÇʱ×î¿ìµÄ·½Ê½¾ÍÊÇ¿½±´ÀϵĻÏîÄ¿£¬È»ºó°´ÐèÇóÐ޸쬽Ó×ÅÉÏÏߣ¬È»¶øÕâÖÖ·½Ê½ºÜ¿ì¾ÍÓöµ½ÁËÆ¿¾±£¬ÆÈʹÔËÓªÍŶÓÒ²»áȥѰÕÒһЩµÚÈý·½Æ½Ì¨È¥Âú×ã×Ô¼ºµÄÔËÓªÒªÇ󣬲»¹ýÓÉÓÚ¶¨ÖÆ»¯ÈõºÍÓû§ÐÅϢû´òͨµ¼ÖÂû°ì·¨´óÁ¿Ê¹Ó㬻¹ÊÇÖ»Äܵȴýǰ¶Ë×ÊÔ´ÅÅÆÚ£¬Á½¸ö±È½ÏÍ»³öµÄÎÊÌâ¡£
²úƷÿ¸ö»î¶¯¶¼ÐèҪǰ¶ËÈËÔ±½éÈ룬ÉõÖÁÌæ»»Ò»¸ö¼òµ¥µÄͼ±êºÍ¼òµ¥µÄ²¼¾Ö£¬¶¼ÐèÒªÅÅÆÚµÈ´ý£¬³ÔµôÁË 50%
µÄǰ¶Ë×ÊÔ´¡£
ÊÐÃæÉÏ¿ÉʹÓõÄһЩÔÚÏßÖÆ×÷ÍÆ¹ãÆ½Ì¨ÖÆ×÷µÄÒ³ÃæÓÖ²»ÄܺܺõؽáºÏµ½×Ô¼ºµÄÒµÎñÁ÷³ÌÀïÃæ¡£
תÅ̳齱£¬Èç¹ûʹÓõÚÈý·½Æ½Ì¨ÐèÒªÔڻ½áÊøºó°Ñ³é½±Ãûµ¥µ¼³ö£¬È»ºóµ¼Èë×Ô¼ºµÄƽ̨ÀïÃæÈ¥×öÆ¥Å䣬ȻºóÔÚɸѡÖн±Ãûµ¥£¬ºÜ²»·½±ã¡£
ÀÐÂËͺì°ü£¬Ê¹ÓõÚÈý·½µÄƽ̨Èç¹ûÓû§Ìá½»ÁËÀеÄÊÖ»úºÅ¡£ÐèÒª¶¨ÆÚȥͬ²½Êý¾ÝÈ»ºóËͺì°ü£¬²»ÄܶԽÓ×Ô¼ºµÄƽ̨×öµ½ÊµÊ±¡£
Õë¶ÔÕâЩÎÊÌâÍŶӯÈÇÐÐèÒªÒ»¸öƽ̨À´ÌṩÔËÓª¿ìËÙ´´½¨»î¶¯£¬¿ª·¢Ò²ÄÜÔÚÕâÆ½Ì¨×öһЩ¹¦ÄÜÀ©Õ¹¡£×îºÃÄÜÂú×ãÒÑϼ¸¸öÒªÇó£º
·á¸»µÄ×é¼þÌṩÔËÓªÄÜ×ÔÖ÷´´½¨Ò³Ãæ¡£
ÿ¸ö×öºÃµÄÒ³Ãæ¶¼¿ÉÒÔÉèÖÃΪģ°åÒ³Ãæ£¬ÌṩÔËӪϴοìËÙͨ¹ýÄ£°å´´½¨Ò³Ãæ¼òµ¥ÐÞ¸ÄÈ»ºó·¢²¼¡£
Ìṩ³£Óö¯»È»ÔËÓªÄÜ´´½¨ìÅ¿áЧ¹ûµÄ»î¶¯¡£
Ìṩÿ¸ö»î¶¯ÍêÕûµÄÊý¾Ý·ÖÎö·½±ãÔËÓª²é¿´Ð§¹û£¬³£¹æµÄ pv£¬uv£¬ÒÔ¼°×Ô¶¨ÒåÒ³ÃæµÄÔªËØµã»÷´òµãºÍͳ¼Æ¹¦ÄÜ¡£
ÌṩÁé»îµÄÒ³Ãæ¹ÜÀí£¬·½±ãÔËÓª°´×é°´ÏîĿά¶È¸øÆäËûͬÊ·ÖÅäȨÏÞͳһ¹ÜÀí¡£
¿ª·¢ÈËÔ±¿ÉÒÔΪ×é¼þÖ²Èë½Å±¾Áé»îÀ©Õ¹¸Ã»î¶¯µÄ¹¦ÄÜ£¬·½±ãÔËӪʹÓá£
ÌṩͳһµÄ×é¼þ¿ª·¢¹æ·¶£¬·½±ã¿ª·¢ÐµÄÒµÎñ×é¼þΪÔËÓªÌṩ¸üÓѺõÄʹÓ÷½Ê½¡£
Õë¶ÔÕâЩҪÇóÎÒÃÇ×öÁËÂëÁ¼Æ½Ì¨£¬ÂëÁ¼ÊÇÒ»¸öÔÚÏß H5 ±à¼Æ÷£¬ÓÃÓÚ¿ìËÙÖÆ×÷ H5 Ò³Ãæ¡£Óû§ÎÞÐèÕÆÎÕ¸´Ôӵıà³Ì¼¼Êõ£¬Í¨¹ý¼òµ¥ÍÏ×§¡¢ÉÙÁ¿ÅäÖü´¿ÉÖÆ×÷¾«ÃÀµÄÒ³Ãæ£¬¿ÉÓÃÓÚÓªÏú³¡¾°ÏµÄÒ³ÃæÖÆ×÷¡£Í¬Ê±£¬Ò²Îª¿ª·¢ÕßÌṩÁËÍ걸µÄ±à³Ì½ÓÈëÄÜÁ¦£¬Í¨¹ý½Å±¾ºÍ×é¼þµÄÐÎʽ»ñµÃÇ¿´óµÄ×é¼þÐÐΪºÍ½»»¥¿ØÖÆÄÜÁ¦¡£

ºËÐÄÉè¼Æ
ÏÂÃæ»á·ÖÏíÏÂÎÒÃǵĺËÐÄÉè¼Æ£¬Õâ´ÎÖ÷ÒªÖØµã˵Ã÷ÏÂÃæ¼¸·½ÃæÄÚÈÝ
ÎÒÃÇ»á½éÉÜÕûÌåµÄ¼Ü¹¹À´Á˽âÒ»°ãµÄ±à¼²úÉúÒ³ÃæµÄ»ù±¾Ë¼Â·£¬»ùÓÚÊý¾Ý±à³Ì¡£
ÎÒÃÇ»á½éÉܺËÐĵÄ×é¼þÈçºÎÉè¼Æ£¬È·±£¿ÉÒÔ×ÔÓÉÀ©Õ¹×é¼þÄÜÁ¦
ÎÒÃÇ»á½éÉÜÈçºÎÉè¼Æ±à¼Æ÷´ïµ½¿É×Ô¶¨ÒåÊôÐԵĿØÖÆÃæ°å
±¸×¢£¨ÓÉÓÚÕûÌåÏîĿʵÏÖʹÓÃµÄ VUE£¬ËùÒÔºóÃæÓв¿·Ö½éÉܾßÌå¼¼ÊõʵÏÖµÄʱºò»áÒÔ VUE µÄʹÓýǶÈ˵Ã÷¡£ÓÃÆäËû¿ò¼ÜµÄ×ÔÐÐÄÔ²¹£©
ÕûÌå¼Ü¹¹
1. ÕûÌå¼Ü¹¹
ÕûÌå¼Ü¹¹Ïà¶Ô¼òµ¥£¬ºËÐľÍÊǶ¨ÒåÒ»Ì×±ê×¼µÄÊý¾Ý¹æ·¶£¬Ìṩһ¸ö±à¼Æ÷È¥±à¼Õâ¸öÊý¾Ý£¬Í¬Ê±Ìṩһ¸ö½âÎöÆ÷È¥½âÎö¸ÃÊý¾Ý£¬È»ºóäÖȾ³öÒ³Ãæ£¬Á÷³ÌÈçÏ¡£

2. Êý¾Ý½á¹¹
ͨ¹ýÉÏÃæµÄͼ¿´µ½Ã¿¸öÒ³ÃæÊÇÓɺܶà½Úµã×é³É£¨node£©, ÿ¸ö½Úµã¿ÉÒÔǶÌ××ӽڵ㡣¶øÃ¿¸ö½Úµã°üÀ¨µÄ»ù±¾ÐÅÏ¢ÈçÏ£¬±¸×¢ÎÄÕºóÐøÌáµ½µÄ
nodeInfo ¶¼ÊǸýڵã¶ÔÓ¦µÄÈçÏÂÊý¾Ý
{ "id":
"truck/button1l", "type":
"truck/button", "label":
" °´Å¥ 1l", "version": "0.1.4",
"visible": true, "style":
{ "position": "absolute",
"width": "100px", "height":
"40px"
}, "animate": [], "props":
{ "text": " ÊäÈëÎÄ×Ö ",
"type": "danger", "click":
[]
}, "path": "https://ymm-maliang.oss-cn-hangzhou.aliyuncs.com/truck/button/0.1.4/index.js",
"script": "", "events":
[]
} |
ÿ¸ö×é¼þ±È½ÏºËÐĵÄÔªËØÓÉÈçϼ¸²¿·Ö×é³É
id ÔªËØµÄΨһ±àºÅ¡£·½±ã´úÂë»ñÈ¡ºÍ²Ù×÷
type ×é¼þµÄÀàÐÍ¡£»á¸ù¾Ý²»Í¬µÄÀàÐͼÓÔØ²»Í¬µÄ½Å±¾×ÊÔ´£¬È»ºóÔËÐмÓÔØÍêµÄ½Å±¾»á´´½¨Ò»¸ö VUE Component£¬È»ºó»á°ÑÕâ¸ö
Component ¹ÒÔØµ½ VUE È«¾Ö£¬ÓÉÓÚÿ¸ö×é¼þ½Úµã¶¼ÊÇÒ»¸ö ¶¯Ì¬µÄ Component ×é¼þ¡£ÕâʱºòÖ»ÐèÒªÐ޸Ķ¯Ì¬×é¼þµÄ
:is Êý¾Ý½øÐÐÄÚÈÝÌæ»»¾ÍºÃÁË¡£
label ×é¼þ±ðÃû¡£·½±ãÔËÓªÀí½âʹÓÃ
version ×é¼þ°æ±¾¡£ ÿ¸ö×é¼þ¶¼ÊÇÓÐ×Ô¼ºµÄ°æ±¾µÄ¡£
style ×é¼þÑùʽ
props ×é¼þ²ÎÊý¡£Ã¿¸ö×é¼þ¶¼ÊÇÓÐһЩ³õʼ»¯²ÎÊýµÄ£¬ÕâЩ²ÎÊý¶¼ÊÇÓªÏúÈËÔ±ÔÚ±à¼Æ÷ÀïÃæÌîдµÄ¡£ÕâЩ²ÎÊý¾Í´æ·ÅÔÚÕâÀïÃæ£¬ÔÚÀ©Õ¹±à¼Æ÷ÊôÐÔÄÜÁ¦ÀïÃæ»áÏêϸ˵Ã÷
script À©Õ¹½Å±¾¡£Ã¿¸ö×é¼þ¿ÉÒÔ²åÈëһЩ½Å±¾´úÂëÀ©Õ¹×é¼þµÄ¹¦ÄÜ¡£ÕâЩ½Å±¾´´½¨µÄ¶ÔÏó»á mixin
µ½¸Ã×é¼þ¶ÔÏóÀïÃæ£¬ÔÚ×é¼þÉè¼ÆÀïÃæ»áÏêϸ½éÉÜ
event ×é¼þ°ó¶¨Ê¼þ¡£ ÿ¸ö×é¼þ¿ÉÒ԰󶨳£¼û dom ʼþ¡£
child º¢×ӽڵ㡣
path ½Å±¾Â·¾¶¡£ ͨ¹ý¸Ã·¾¶¼ÓÔØ½Å±¾´´½¨×é¼þ¶ÔÏó¡£
ÉÏͼµÄÒ³Ãæ°üÀ¨Ò»¸öͼƬ£¬Í¼Æ¬ÏÂÃæÁ½¸öÎÄ×Ö£¬Í¼Æ¬ÐֵܽڵãÓиö°´Å¥ÔªËØ¡£¶ÔÓ¦Ò³ÃæµÄÏêϸÊý¾Ý½á¹¹ÈçÏ£¬¿ÉÒÔ¸ÐÊÜÏÂÍêÕû½á¹¹¡£
{ "id":
"node", "type": "node",
"visible": true, "style":
{
}, "props": {}, "child":
[
{ "id": "truck/image15j",
"type": "truck/image",
"label": " ͼƬ 15j", "version":
"0.1.4", "visible": true,
"style": { "position":
"absolute", "width": "320px"
}, "animate": [], "props":
{ "url": "https://ymm-maliang.oss-cn-hangzhou.aliyuncs.com/ymm-maliang/access/ymm_1533366999689.png",
"click": []
}, "path": "https://ymm-maliang.oss-cn-hangzhou.aliyuncs.com/truck/image/0.1.4/index.js",
"script": "", "events":
[], "child": [
{ "id": "truck/text3l",
"type": "truck/text",
"label": " Îı¾ 3l", "version":
"0.1.4", "visible": true,
"style": { "position":
"absolute"
}, "animate": [], "props":
{ "text": " ÎÄ×ÖÄÚÈÝ 1",
"click": []
}, "path": "https://ymm-maliang.oss-cn-hangzhou.aliyuncs.com/truck/text/0.1.4/index.js",
"script": "", "events":
[]
},
{ "id": "truck/text3l5g",
"type": "truck/text",
"label": " Îı¾ 3l", "version":
"0.1.4", "visible": true,
"style": { "position":
"absolute", "width": "114px"
}, "animate": [], "props":
{ "text": " ÎÄ×ÖÄÚÈÝ 2",
"click": []
}, "path": "https://ymm-maliang.oss-cn-hangzhou.aliyuncs.com/truck/text/0.1.4/index.js",
"script": "", "events":
[]
}
]
},
{ "id": "truck/button1l",
"type": "truck/button",
"label": " °´Å¥ 1l", "version":
"0.1.4", "visible": true,
"style": {
}, "animate": [], "props":
{ "text": " ÊäÈëÎÄ×Ö ",
"type": "danger", "click":
[]
}, "path": "https://ymm-maliang.oss-cn-hangzhou.aliyuncs.com/truck/button/0.1.4/index.js",
"script": "", "events":
[]
}
], "script": [], "animate":
[], "version": "0.1.0",
"events": []
} |
Ò»¾ä»°Ð¡½á£ºÒ³ÃæÊÇÓɺܶà½ÚµãµÝ¹éÉú³É£¬Ã¿¸ö½Úµã°üº¬²¼¾Ö£¬Ê¼þ£¬½Å±¾£¬²ÎÊý£¬°æ±¾µÈÐÅÏ¢£¬È»ºó±à¼Æ÷±à¼ÕâЩÐÅÏ¢£¬½âÎöÆ÷½âÎöÕâЩÐÅÏ¢¡£
×é¼þÉè¼Æ
Ò»¸öÒ³Ãæ¶¼ÊÇÓÉÒ»¸ö¸öµÝ¹éǶÌ×µÄ×é¼þ×é³É£¬×é¼þÊÇÕû¸öÏîÄ¿µÄ×îºËÐĵÄÒ»²¿·Ö£¬ÎªÁËÈÃ×é¼þ¾ßÓÐÀ©Õ¹ÄÜÁ¦£¬ÎÒÃǶÔ×é¼þµÄ¹¦ÄÜʹÓÃÁË
mixin ·½Ê½£¬Í¨¹ý»ù´¡×é¼þÂß¼ + ×Ô¶¨Òå½Å±¾µÄÐÎʽÀ´Éú³É×é¼þ¡£ÏÂÃæ½éÉÜÏÂÕûÌå×é¼þ½á¹¹ºÍ³õʼ»¯Á÷³Ì£¬·½±ãÀí½âÎÒÃÇÊÇÈçºÎʵÏֵġ£

ÉÏͼ×󲿷ֿÉÒÔ¿´µ½Õû¸öÒ³Ãæ¶¼ÊÇÓÉÒ»¸öÒ»¸ö node ½Úµã×é³É£¬ËûÃÇÊÇÒ»¸öÊ÷×´½á¹¹£¬Ã¿¸ö
node ½ÚµãÏÂÃæ°üº¬×ÅÒ»¸ö×é¼þ¶ÔÏó×ö¹¦ÄÜչʾ£¬ÏÂÃæÊÇ node ½ÚµãµÄ dom ½á¹¹£¬¿ÉÒÔ¿´µ½Ã¿¸ö½Úµã¶¼Êǵݹé½Úµã£¬Ã¿¸ö½ÚµãÄÚ²¿¶¼°üº¬Ò»¸ö¶¯Ì¬×é¼þ£¬Ã¿¸ö¶¯Ì¬×é¼þµÄͨ¹ý
nodeinfo.id Ϊ key µÄ×é¼þ½øÐÐäÖȾ¡£
<div class="node"
v-show="visible" :style="nodeInfo.style">
<component :is="nodeInfo.id" v-bind="nodeInfo.props"
:ref="nodeInfo.id" :style="componentStyle"></component>
<node v-if="nodeInfo.child" :info="item"
v-for="item in nodeInfo.child " :key="item.id"></node>
</div> |
ÉÏͼÓÒ²¿·Ö¿ÉÒÔ¿´µ½äÖȾÁ÷³Ì¡£ÎªÁË´ïµ½×é¼þµÄ¸ßÀ©Õ¹ÐÔ£¬Ã¿¸ö×é¼þµÄ¹¦Äܰüº¬Á½¸öÖ÷Òª²¿·Ö
×é¼þ´úÂë , ÿ¸ö×é¼þ¶¼ÊÇÓÐÌØ¶¨²ÎÊýºÍÌØ¶¨¹¦ÄܵĽű¾ÊµÏÖ£¬±ÈÈç ͼƬ£¬¸»Îı¾£¬·ÖÏí£¬¾Å¹¬¸ñµÈ×é¼þ£¬×é¼þ´úÂëͨ¹ý¶ÔÓÚµÄ
type ºÍ path ²ÎÊýÈ¥¼ÓÔØ¶ÔÓڵĽű¾»ñÈ¡¶ÔÏó¡£
×é¼þͨ¹ý±à¼Æ÷Ìí¼ÓµÄ½Å±¾ , ±à¼Æ÷¿ÉÒÔΪÿ¸ö×é¼þ¶¯Ì¬Ìí¼Ó½Å±¾À´ÔöÇ¿¶Ô×é¼þµÄ²Ù×÷ÄÜÁ¦¡£ÈçϲÙ×÷, ¿ÉÒÔ¿´µ½Ò»¸ö×é¼þ¿ÉÒÔÌí¼Ó¶à¸ö½Å±¾¡£Ã¿¸ö½Å±¾Æäʵ¾ÍÊÇÒ»¸öµÄ
vue ×é¼þ£¬ÖÕÕâÀïÃæµÄ´úÂë»á´´½¨¶ÔÏó mixin µ½×îÖÕµÄ vue ×é¼þÀïÃæ£¬ËùÒÔÄã¿ÉÒÔΪ×é¼þÀ©Õ¹¸÷ÖÖ¹¦ÄܽøÐÐÖ§³ÖÄãµÄÌØÊâÒµÎñ¡£

Ò»¸ö½ÚµãµÄÂß¼¹¦ÄÜ = ×é¼þÂß¼ + ½Å±¾ 1+ ½Å±¾ 2+ ½Å±¾ 3¡
ÿ¸ö×é¼þÔÚ¸ù¾Ý×Ô¼ºµÄÀàÐͼÓÔØ¶ÔÓ¦ js ½Å±¾ºó£¬»á¶Ô¸Ã×é¼þ nodeInfo.script
ÀïÃæµÄ Âß¼½øÐÐ mixin. È»ºó´´½¨Ò»¸ö×îÖÕµÄ×é¼þ×¢²áµ½ Vue.component ÀïÃæ·½±ãºóÐøÊ¹ÓÃ,
ºËÐÄ´úÂëÈçÏÂ
// ͨ¹ý¼ÓÔØµ½µÄ×é¼þ½Å±¾»ñµÃµÄÈ«¾Ö¶ÔÏó´´½¨
vue ¶ÔÏó window['image_1.0.3'] load ×é¼þ½Å±¾ÔËÐкó»áÉú³ÉµÄ¶ÔÏó
var component = Vue.extend( window['image_1.0.3'])
// ±éÀúËùÓмÓÈëµÄ½Å±¾»ìºÏ×é¼þ¶ÔÏóÖÐ
nodeInfo.script.forEach((value)=>{
component =component.extent(value)
})
// ÒÔ½Úµã id Ϊ key£¬×¢²á×îÖÕ×é¼þ¶ÔÏó
Vue.component(nodeInfo.id,component)
// Ð޸ĸýڵãµÄ¶¯Ì¬×é¼þ :is ²ÎÊýΪ ¸Ã½Úµã id
// done |
Ò»¾ä»°Ð¡½á£ºÍ¨¹ý²»¶ÏµÄ mixin еÄ×Ô¶¨Òå½Å±¾½øÀ´À©Õ¹×é¼þÄÜÁ¦
×é¼þÊôÐÔ±à¼Éè¼Æ
ÊôÐÔ±à¼Ö÷ҪĿµÄÊÇ¿ª·¢×é¼þµÄÈ˻ᱩ¶һЩ¿ÉÅäÖõIJÎÊý¸øÔËÓªÈËÔ±ÔÚ±à¼Æ÷ÀïÃæÌîдºÍÐ޸ġ£
±ÈÈçÑ¡ÔñÒ»¸ö×é¼þºóÔÙÓÒ²àÊôÐÔÃæ°å¿ÉÒÔ¶ÔÕâ¸ö×é¼þ½øÐÐһЩÊôÐÔÉèÖá£

ΪÁ˱ãÓÚά»¤ºÍÀ©Õ¹£¬ÎÒÃǾõµÃÒ»¸ö×é¼þµÄ¿ÉÅäÖÃÊý¾Ý°üÀ¨¼òµ¥Êý¾Ý£¬¸´ÔÓÂß¼Êý¾Ý£¬¶ÔÓ¦¿É±à¼ÊôÐԵIJ¿·ÖÒ²·ÖΪÁ½²¿·Ö
±à¼Æ÷Ìṩ»ù´¡ÊôÐÔ±à¼
±à¼Æ÷ÄÜÌṩÀ©Õ¹±à¼±à¼ÄÜÁ¦£¬Ö÷ÒªÕë¶ÔÔËÓª·½±ã²Ù×÷£¬ÌØÕ÷ÐԵĿª·¢×é¼þÊôÐԵı༹¦ÄÜ£¬Ìṩ¶ÔÔËÓªÓѺõIJÙ×÷ÌåÑé
ÏÂÃæÕë¶ÔÕâÁ½¿é±È½ÏºËÐĵÄÄÚÈÝ˵Ã÷ÏÂÎÒÃÇÈçºÎ×öµÄ¡£
±à¼Æ÷»ù´¡ÊôÐÔ±à¼ÄÜÁ¦
¶ÔÓÚÒ»¸ö×é¼þµÄ¿ª·¢ÕßÀ´Ëµ£¬Ò»ÊǶ¨Òå¸Ã×é¼þÄÇЩ²ÎÊýÐèÒª±©Â¶µ½±à¼Æ÷ÈÃÔËÓª²Ù×÷£¬¶þÊǶ¨Òå¸ÃÊôÐÔ¶ÔÓ¦µÄֵͨ¹ýʲô¿Ø¼þ²Ù×÷¡£
ÉÏÎÄÔÚÕûÌå¼Ü¹¹Êý¾Ý½á¹¹ÖÐÌáµ½ÁËÿ¸ö node ½Úµã¶¼ÓÐÒ»¸ö props ÊôÐÔ£¬¸ÃÊôÐÔ¾ÍÊÇ´æ·ÅןÃ×é¼þ¿ÉÅäÖõIJÎÊýËùÅäÖõÄ×îÖÕÖµ£¬ÔÚ³õʼ»¯×é¼þµÄʱºò»á°ÑÕâ¸ö
props µÄÊý¾Ý´«Èë×é¼þ½øÐгõʼ»¯¡£¶ø¶¨ÒåÒ»¸ö×é¼þÄܽÓÊÜÄÇЩ²ÎÊýÔòÊÇÔÚÿ¸ö Vue ×é¼þµÄ props
ÊôÐÔÉ϶¨Ò壬 ¶ø±à¼Æ÷µÄ×÷ÓþÍÊÇͨ¹ý±à¼Æ÷È¥»ñÈ¡µ½Ã¿¸ö¶ÔÏó¶¨ÒåµÄ props£¬È»ºó¸ù¾Ýÿ¸ö²ÎÊýµÄÀàÐÍÌṩ²»Í¬µÄ±à¼¿Ø¼þ£¬±ÈÈç
boolean ÎÒÃÇ»áÌṩ Çл»°´Å¥£¬image ÎÒÃÇ»áÌṩѡÔñͼƬ¿Ø¼þµÈµÈ¡£À©Õ¹½Å±¾Í¬Ñù¿ÉÒÔÀ©Õ¹×é¼þµÄ¿É±à¼ÊôÐÔ£¬ÏÂÃæÊÇÒ»¸öÀ©Õ¹½Å±¾µÄÀý×Ó¡£Ö÷Ҫ˵Ã÷Ö§³ÖµÄÄÇЩÀàÐÍ£¬¿É¶¨ÒåµÄ¸ñʽ¡£ÕûÌåÁ÷³ÌÈçÏ¡£

ÏÂÃæÎÒÃÇÏÈ¿´Ò»ÏÂÿ¸ö×é¼þ¿É¶¨ÒåµÄ props Àý×Ó¡£
/**
*
* @param type: ×Ö¶ÎÀàÐÍ£¬Ö§³ÖÔÉúÀàÐÍÒÔ¼°¡¾ÂëÁ¼ÊäÈëÀàÐÍ¡¿
*
* ÂëÁ¼ÊäÈëÀàÐÍ:
* input µ¥ÐÐÊäÈë¿ò
* text ¶àÐÐÊäÈë¿ò
* enum ÁÐ±íµ¥Ñ¡ ÐèÌṩѡÏî×Ö¶Î defaultList£¬ Ö§³ÖÊý×é¡¢map ½á¹¹
* image ͼƬѡÔñ
* audio ÒôƵѡÔñ
* video ÊÓÆµÑ¡Ôñ
* richtext ¸»Îı¾
* number Êý×Ö
* function ·½·¨ÉèÖÃ
* data json Êý¾Ý
* date ʱ¼äÑ¡Ôñ
* checkbox ¶àÑ¡¿ò ͬ enum ²»Ìṩ defaultList ×Ö¶Îʱ£¬ÊäÈëֵΪ²¼¶ûÀàÐÍ
* radio µ¥Ñ¡¿ò ͬ enum
*
*/
return {
props: {
// ÔÉúÀàÐÍ
foo: {
type: String
},
// ͼƬÊäÈë
fooImage: {
type: String,
editer: {
type: 'image'
}
},
// ÈÕÆÚ
fooDate: {
editer: {
type: 'date'
}
},
// checkbox ¶àÑ¡
fooCheckbox: {
type: Array, // ´ËÏî±ØÐëΪ Array
default: () => { // ÇÒÐèÌṩ³õʼֵ
return [] // ['day', 'hour', 'min', 'sec']
},
editer: {
label: 'ÏÔʾ¾«¶È',
type: 'checkbox',
defaultList: [ // array ÐÎʽµÄÑ¡Ïî
'day',
'hour',
'min',
'sec',
]
}
},
// checkbox ²¼¶û
fooCheckboxBool: {
type: Boolean, // ´ËÏî±ØÐëΪ Boolean
editer: {
type: 'checkbox'
}
},
// enum º¬Ñ¡Ïî
fooEnum: {
default: 'value1',
type: String,
editer: {
label: 'ÎÒÊÇ×Ö¶ÎÃû', // ½«×Ö¶ÎÃûÏÔʾΪ¿É¶ÁÐÔ¸üÇ¿µÄÎı¾£¬²»Ìṩ´ËÏîʱ£¬ÏÔʾ×Ö¶ÎÃû
desc: 'ÎÒÊǰïÖúÎı¾', // Ϊ×Ö¶ÎÌṩÌáʾÐÅÏ¢£¬°ïÖúÀí½â×ֶεÄÒâÒå
type: 'enum',
defaultList: { // map ½á¹¹µÄÑ¡Ïî key Ϊֵ£¬value ΪÏÔʾÎı¾
'value1': 'Ìõ¼þ 1',
'value2': 'Ìõ¼þ 2',
'value3': 'Ìõ¼þ 3',
}
}
},
// Ìõ¼þÊôÐÔ
ifFoo1: {
type: [Number],
default: 0,
editer: {
work: function () {
return this.fooEnum == 'value1' // Ö»Óе± `fooEnum`
×Ö¶ÎȡֵΪ 'value1' ʱ²ÅÏÔʾ´ËÏî
},
label: 'Ìõ¼þÊôÐÔ 1',
type: 'number',
}
},
ifFoo2: {
type: [Date, String],
default: null,
editer: {
work: function () {
return this.fooEnum == 'value2' // Ö»Óе± `fooEnum`
×Ö¶ÎȡֵΪ 'value2' ʱ²ÅÏÔʾ´ËÏî
},
label: 'Ìõ¼þÊôÐÔ 2',
type: 'date',
}
},
},
mounted: function () {
console.log('hello ' + this.foo)
console.log('hello ' + this.fooImage)
// ...
}
}
|
ÉÏÃæ½Å±¾À©Õ¹µÄ×é¼þ¶ÔÓ¦µÄÔö¼ÓµÄ¿ÉÅäÖõÄÊôÐÔÈçÏÂͼ¡£

ÕâÀïÃæµÄµÄÖ÷ÒªÉè¼ÆÔÚÓÚÿ¸ö props ÊôÐÔÀïÃæÌí¼ÓÁËÒ»¸ö editer
×ֶνøÐиÃ×Ö¶ÎÔÚ±à¼Æ÷»·¾³ÏÂÌṩʲô×é¼þ¶Ô¸ÃÊôÐÔ½øÐб༡£editer µÄ×Ö¶ÎÖ÷Òª°üÀ¨ÈçÏ¡£
{
label: 'ÎÒÊÇ×Ö¶ÎÃû', // ½«×Ö¶ÎÃûÏÔʾΪ¿É¶ÁÐÔ¸üÇ¿µÄÎı¾£¬²»Ìṩ´ËÏîʱ£¬ÏÔʾ×Ö¶ÎÃû
desc: 'ÎÒÊǰïÖúÎı¾', // Ϊ×Ö¶ÎÌṩÌáʾÐÅÏ¢£¬°ïÖúÀí½â×ֶεÄÒâÒå
type: 'enum',
ignore: true, // ²»ÔÚ±à¼Æ÷ÏÔʾ
work:function(){
// Èç¹ûÂú×ãʲôÌõ¼þ²Å»áÏÔʾ
},
defaultList: { // map ½á¹¹µÄÑ¡Ïî key Ϊֵ£¬value ΪÏÔʾÎı¾
'value1': 'Ìõ¼þ 1',
'value2': 'Ìõ¼þ 2',
'value3': 'Ìõ¼þ 3',
}
} |
label ÔÚ±à¼Æ÷ÏÔʾµÄÃû³Æ
desc ¸Ã×Ö¶ÎÔÚ±à¼Æ÷ÏêϸÃèÊö
type ±à¼¸ÃÊôÐÔµÄ×é¼þÀàÐÍ
ignore ¸ºÂÔÔÚ±à¼Æ÷ÏÔʾ£¬Ò»°ãÔÚ¸ÃÊôÐÔÌṩÁ˸߼¶±à¼Ä£Ê½ÐèÒªÒþ²ØµôĬÈϵÄģʽ¡£
work Ò»¸ö·½·¨£¬¸Ã·½·¨·µ»Ø true »áÔÚ±à¼Æ÷ÏÔʾ¸ÃÊôÐÔ£¬Ò»±éÓÃÓÚÁª¶¯Òþ²ØºÍÏÔʾһЩ±à¼ÊôÐÔ
defaultList һЩĬÈÏÊý¾Ý£¬Ò»°ãÌṩµ¥Ñ¡£¬ÏÂÀµÈĬÈÏ¿ÉÑ¡ÔñµÄÖµ¡£
Ò»¾ä»°Ð¡½á£º±à¼Æ÷ͨ¹ý»ñȡÿ¸ö×é¼þµÄ props£¬±éÀúÿһ¸öÊôÐÔ£¬°´ÀàÐÍÌṩ²»Í¬µÄ²Ù×÷¿Ø¼þ£¬±à¼Éú³É×îÖÕµÄÊý¾Ý·Åµ½
nodeInfo.props ÉÏ¡£
À©Õ¹±à¼ÊôÐÔÄÜÁ¦
ºÜ¶àʱºòÒ»¸ö×é¼þ¿ÉÅäÖõÄÊôÐÔ°´ÎÒÃǵĹ滮À´Ëµ¾ÍÏÂÃæ¼¸ÖÖÀàÐÍ¡£
/**
*
* @param type: ×Ö¶ÎÀàÐÍ£¬Ö§³ÖÔÉúÀàÐÍÒÔ¼°¡¾ÂëÁ¼ÊäÈëÀàÐÍ¡¿
*
* ÂëÁ¼ÊäÈëÀàÐÍ:
* input µ¥ÐÐÊäÈë¿ò
* text ¶àÐÐÊäÈë¿ò
* enum ÁÐ±íµ¥Ñ¡ ÐèÌṩѡÏî×Ö¶Î defaultList£¬ Ö§³ÖÊý×é¡¢map ½á¹¹
* image ͼƬѡÔñ
* audio ÒôƵѡÔñ
* video ÊÓÆµÑ¡Ôñ
* richtext ¸»Îı¾
* number Êý×Ö
* function ·½·¨ÉèÖÃ
* data json Êý¾Ý
* date ʱ¼äÑ¡Ôñ
* checkbox ¶àÑ¡¿ò ͬ enum ²»Ìṩ defaultList ×Ö¶Îʱ£¬ÊäÈëֵΪ²¼¶ûÀàÐÍ
* radio µ¥Ñ¡¿ò ͬ enum
*
*/ |
Èç¹û°´Ã¿¸öÀàÐÍÌṩһ¸ö»ù±¾µÄ±à¼×é¼þ¾ÍÄÜÍê³É 90% µÄÐèÇ󣬲»¹ýÔÚËæ×Å×é¼þµÄ¸´ÔÓ¶ÈÔö¼Ó£¬Ã¿¸ö×é¼þ¿ÉÅäÖõÄÊôÐÔ±äµÃÇ§Ææ°Ù¹Ö£¬¸÷ÖÖÐèÇ󶼿ÉÄÜ¡£±ÈÈçÒ»¸ö¼òµ¥µÄ¶àÑ¡£¬ÔÀ´µÄ¿ÉÑ¡ÏîÖ»ÄÜдËÀ£¬ÏÖÔÚÐèÒª×Ô¼ºÇëÇó½Ó¿Ú»ñÈ¡¡£µ«ÕâЩÂß¼ÎÒÃDz»ÄÜ×öµ½Í³Ò»µÄ±à¼Æ÷ÀïÃæ£¬Ò²²»ÄÜ×öµ½×é¼þÀïÃæ£¬ËùÒÔÖ»ÄÜÔÚ×ö×é¼þµÄʱºòÌṩһÖÖ»úÖÆÈÿª·¢×é¼þµÄͬѧ¿ª·¢×é¼þµÄͬʱ£¬»¹ÄܶÔÕâ¸ö×é¼þ¿ª·¢Ò»¸ö×Ô¶¨ÒåµÄ±à¼Æ÷£¬²¢ÄÜÕûºÏµ½ÎÒÃǵÄÊôÐÔ±à¼Ãæ°åÖС£
ÕûÌå¼Ü¹¹ÈçÏ£¬×îÖÕЧ¹û¿ÉÒԲο¼ÉÏͼµÄ×Ô¶¨ÒåÃæ°å²¿·Ö

Ò»¸ö×é¼þ´ò°üÍêÒ»°ã»áÓÐÁ½¸ö±ØÒªµÄ½Å±¾£¬Ò»¸öÊÇ×é¼þ¶ÔÓ¦µÄ js¡£Ò»¸öÊǸÃ×é¼þ¶ÔÓ¦±à¼Æ÷µÄ½Å±¾ js¡£
Õû¸öƽ̨¶Ô±à¼Æ÷µÄ¹¦ÄÜÀ©Õ¹¶¼ÊÇÏàͨµÄ£¬Í¨¹ý¼ÓÔØ½Å±¾£¬´´½¨¶ÔÏó£¬×¢²áµ½ Vue£¬È»ºóͨ¹ý¶¯Ì¬×é¼þäÖȾ¡£¶Ô±à¼Æ÷ÊôÐÔµÄÀ©Õ¹Ò²ÊÇÒ»Ñù¡£¼ÓÔØ¶ÔÓ¦×é¼þµÄ±à¼Æ÷½Å±¾£¬È»ºó°´ÏàͬµÄ·½·¨½øÐÐÖ²Èë¡£ÕâÀï¾Í²»ÔÚϸ½²¡£ÕâÀï¼òµ¥·ÖÏíÏÂÎÒÃǶÔÒ»¸ö×é¼þµÄ¿ª·¢×îÖյĽá¹û¡£ÈçÏÂͼ
×é¼þ¿ª·¢¹ý³ÌÖеĽçÃæ

×é¼þ·¢²¼ºóÔÚÂëÁ¼±à¼Æ÷ÀïÃæµÄÑù×Ó

×é¼þ¶¯»Õ¹Ê¾
ÔËÓª»î¶¯¶ÔһЩ¼òµ¥µÄ¶¯»Ìṩ֧³Ö£¬·½±ã×öһЩÈ볡ºÍ³ö³¡µÄ¶¯»£¬ÌáÉý»î¶¯µÄ½»»¥¸Ð£¬ÎÒÃÇʹÓÃÁË animate.css
ÌṩµÄÒ»Ì× css ¶¯»¡£ÏÂÃæÌṩ¼òµ¥µÄչʾ

ºÏ³É×é¼þ˼¿¼
ºÏ³É×é¼þ¾ÍÊÇÑ¡ÔñÒÑÓеĽڵ㱣´æÎªÒ»¸öͨÓõÄ×é¼þ£¬·½±ãÏ´ÎÖ±½ÓʹÓÃ
ʹÓÃ×éºÏ×é¼þ

µ¼³ö×éºÏ×é¼þ¡£

Ä£°åÒ³Ãæ
Ò³ÃæÄ£°åµÄÄ¿µÄºÍ×éºÏ×é¼þÀàËÆ£¬¶¼ÊÇÌṩÒѾ×öºÃµÄÄÚÈÝ£¬ÔËÓª¿ìËÙÑ¡ÔñʹÓôﵽ¿ìËÙÉÏÏ߻µÄÄ¿µÄ, ÏÂÃæÊǼòµ¥ÑÝʾ

×ܽá
ΪÁËÌṩһÌ×¶ÔÔËÓªÓѺ㬲¢ÇÒ¸ßÀ©Õ¹µÄ h5 »î¶¯ÖÆ×÷ƽ̨ÎÒÃÇ×öÁËÕâ¸öÂëÁ¼Æ½Ì¨¡£ÏÖÔÚÂëÁ¼µÄƽ̨ÏÖÔÚÖ§³Å×ÅÔËÂúÂúÿÌìÐÂÔö
5-10 ¸öµÄÐÂ»î¶¯Ò³ÃæµÄÐèÇó£¬ÒÑÓлģ°åµÄ»î¶¯ 95% ¿ÉÒÔÓªÏúÈËԱͨ¹ýÄ£°å´´½¨£¬×öЩÑùʽ»òͼƬµÄÐ޸ģ¬È»ºó·¢²¼µ½ÏßÉÏ£¬Õû¸ö¹ý³Ì¾Í¼¸·ÖÖÓ¡£»î¶¯µÄÄ£°åºÍ×é¼þÄ£°åÒ²ÔÚ²»¶Ï³Áµí£¬ÏàÐųÁµíÒ»¶Îʱ¼äºóËæ×ÅÄ£°åÔ½À´Ô½È«£¬¶ÔÓªÏú»î¶¯µÄ¿ìËÙÖÆ×÷ºÍ¿ÉÑ¡ÔñÐÔ¶¼»á¸üÇ¿¡£
|