01_built-in_instructions.html 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081
  1. <!DOCTYPE HTML>
  2. <html lang="" >
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  6. <title>内置指令 · 代码收集</title>
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  8. <meta name="description" content="">
  9. <meta name="generator" content="GitBook 3.1.1">
  10. <link rel="stylesheet" href="../../gitbook/style.css">
  11. <link rel="stylesheet" href="../../gitbook/gitbook-plugin-search-pro/search.css">
  12. <link rel="stylesheet" href="../../gitbook/gitbook-plugin-highlight/website.css">
  13. <meta name="HandheldFriendly" content="true"/>
  14. <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  15. <meta name="apple-mobile-web-app-capable" content="yes">
  16. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  17. <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
  18. <link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
  19. <link rel="next" href="from/" />
  20. <link rel="prev" href="0_depend.html" />
  21. </head>
  22. <body>
  23. <div class="gb-page-wrapper">
  24. <header class="gb-page-header">
  25. <div class="container">
  26. <div id="book-search-input" role="search">
  27. <input type="text" placeholder="Type to search" />
  28. </div>
  29. <a href="../.." class="logo">
  30. <img src="../../gitbook/images/logo/128.png">
  31. <h1>代码收集</h1>
  32. </a>
  33. <a href="https://github.com/seamong/myBlogs/blob/doc/angular/study_notes/01_built-in_instructions.md" target="_blank" class="btn btn-link pull-right hidden-xs">
  34. <i class="octicon octicon-mark-github"></i> 在GitHub编辑本页
  35. </a>
  36. <a href="../../faq.md" class="btn btn-link pull-right hidden-xs">
  37. F.A.Q
  38. </a>
  39. <a href="https://github.com/seamong/myBlogs/README.md" target="_blank" class="btn btn-link pull-right hidden-xs">
  40. 当前版本0.0.1
  41. </a>
  42. </div>
  43. </header>
  44. <div class="gb-page-body">
  45. <div class="gb-page-inner">
  46. <div class="container">
  47. <div class="row">
  48. <div class="col-md-3">
  49. <div class="panel panel-default">
  50. <div class="panel-heading">
  51. <h3 class="panel-title">介绍</h3>
  52. </div>
  53. <div class="list-group">
  54. <a href="../../" class="list-group-item ">
  55. 关于本文档
  56. </a>
  57. </div>
  58. </div>
  59. <div class="panel panel-default">
  60. <div class="panel-heading">
  61. <h3 class="panel-title">JavaScript</h3>
  62. </div>
  63. <div class="list-group">
  64. <a href="../../JavaScript/principle/" class="list-group-item ">
  65. <i class="octicon octicon-chevron-right"></i>
  66. 原理解析
  67. </a>
  68. <a href="../../JavaScript/cases/" class="list-group-item ">
  69. <i class="octicon octicon-chevron-right"></i>
  70. 案例解析
  71. </a>
  72. </div>
  73. </div>
  74. <div class="panel panel-default">
  75. <div class="panel-heading">
  76. <h3 class="panel-title">angular</h3>
  77. </div>
  78. <div class="list-group">
  79. <a href="./" class="list-group-item ">
  80. <i class="octicon octicon-chevron-down"></i>
  81. Study notes
  82. </a>
  83. <a href="0_depend.html" class="list-group-item ">
  84. <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
  85. 项目依赖
  86. </a>
  87. <a href="01_built-in_instructions.html" class="list-group-item active">
  88. <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
  89. 内置指令
  90. </a>
  91. <a href="from/" class="list-group-item ">
  92. <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
  93. <i class="octicon octicon-chevron-right"></i>
  94. 表单
  95. </a>
  96. <a href="../ng.html" class="list-group-item ">
  97. ng
  98. </a>
  99. </div>
  100. </div>
  101. <div class="panel panel-default">
  102. <div class="panel-heading">
  103. <h3 class="panel-title">css</h3>
  104. </div>
  105. <div class="list-group">
  106. <a href="../../css/principle/" class="list-group-item ">
  107. 原理解析
  108. </a>
  109. <a href="../../css/cases/" class="list-group-item ">
  110. <i class="octicon octicon-chevron-right"></i>
  111. 案例收集
  112. </a>
  113. </div>
  114. </div>
  115. <div class="panel panel-default">
  116. <div class="panel-heading">
  117. <h3 class="panel-title">vue</h3>
  118. </div>
  119. <div class="list-group">
  120. <a href="../../vue/components/" class="list-group-item ">
  121. <i class="octicon octicon-chevron-right"></i>
  122. components
  123. </a>
  124. <a href="../../vue/router/" class="list-group-item ">
  125. <i class="octicon octicon-chevron-right"></i>
  126. router
  127. </a>
  128. <a href="../../vue/vuex/" class="list-group-item ">
  129. VUE
  130. </a>
  131. </div>
  132. </div>
  133. <div class="panel panel-default">
  134. <div class="panel-heading">
  135. <h3 class="panel-title">ubuntu</h3>
  136. </div>
  137. <div class="list-group">
  138. <a href="../../ubuntu/serves/" class="list-group-item ">
  139. <i class="octicon octicon-chevron-right"></i>
  140. 服务器生存指南
  141. </a>
  142. <a href="../../ubuntu/instruction.html" class="list-group-item ">
  143. 常用指令
  144. </a>
  145. <a href="../../ubuntu/software/" class="list-group-item ">
  146. 常用软件安装
  147. </a>
  148. </div>
  149. </div>
  150. <div class="panel panel-default">
  151. <div class="panel-heading">
  152. <h3 class="panel-title">GIT</h3>
  153. </div>
  154. <div class="list-group">
  155. <a href="../../git/git.html" class="list-group-item ">
  156. git 命令
  157. </a>
  158. <a href="../../git/push.html" class="list-group-item ">
  159. git~push
  160. </a>
  161. <a href="../../git/faq.html" class="list-group-item ">
  162. git~F.A.Q
  163. </a>
  164. </div>
  165. </div>
  166. <div class="panel panel-default">
  167. <div class="panel-heading">
  168. <h3 class="panel-title">NODE&NPM</h3>
  169. </div>
  170. <div class="list-group">
  171. <a href="../../node/0.html" class="list-group-item ">
  172. <i class="octicon octicon-chevron-right"></i>
  173. node
  174. </a>
  175. <a href="../../node/npm/0.html" class="list-group-item ">
  176. npm
  177. </a>
  178. </div>
  179. </div>
  180. <div class="panel panel-default">
  181. <div class="list-group">
  182. <a href="../../other/faq.html" class="list-group-item ">
  183. FAQ
  184. </a>
  185. <a href="../../other/examples.html" class="list-group-item ">
  186. Examples
  187. </a>
  188. </div>
  189. </div>
  190. </div>
  191. <div class="col-md-9">
  192. <div id="book-search-results">
  193. <div class="search-noresults">
  194. <div class="gb-markdown book-page-inner">
  195. <h3 id="ngif">ngIf</h3>
  196. <blockquote>
  197. <p><strong> &#x5982;&#x679C;&#x4F60;&#x5E0C;&#x671B;&#x6839;&#x636E;&#x4E00;&#x4E2A;&#x6761;&#x4EF6;&#x6765;&#x51B3;&#x5B9A;&#x663E;&#x793A;&#x6216;&#x9690;&#x85CF;&#x4E00;&#x4E2A;&#x5143;&#x7D20;,&#x53EF;&#x4EE5;&#x4F7F;&#x7528; ngIf &#x6307;&#x4EE4;&#x3002;&#x8FD9;&#x4E2A;&#x6761;&#x4EF6;&#x662F;&#x7531;&#x4F60;&#x4F20;&#x7ED9;&#x6307;&#x4EE4;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x7ED3;&#x679C;&#x51B3;&#x5B9A;&#x7684;&#x3002;<br>
  198. </strong> &#x5982;&#x679C;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x7684;&#x662F;&#x4E00;&#x4E2A;&#x5047;&#x503C;,&#x90A3;&#x4E48;&#x5143;&#x7D20;&#x4F1A;&#x4ECE;DOM&#x4E0A;&#x88AB;&#x79FB;&#x9664;&#x3002;</p>
  199. </blockquote>
  200. <pre><code class="lang-html"># &#x4F8B;&#x5B50;&#xFF1A;
  201. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = &quot;<span class="hljs-attr">false</span>&quot; &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  202. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = &quot;<span class="hljs-attr">a</span> &gt;</span> b&quot; &gt;<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  203. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = &quot;<span class="hljs-attr">str</span> =<span class="hljs-string">=</span> &apos;<span class="hljs-attr">yes</span>&apos;&quot; &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  204. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = &quot;<span class="hljs-attr">myFunc</span>()&quot; &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  205. </code></pre>
  206. <h3 id="ngswitch">ngSwitch</h3>
  207. <blockquote>
  208. <p>** &#x5B9E;&#x9645;&#x4F5C;&#x7528;&#x540C;&#x7B49;&#x4E8E; switch&#x8BED;&#x53E5;</p>
  209. </blockquote>
  210. <pre><code class="lang-html"># &#x901A;&#x8FC7;2&#x7EC4;&#x5B9E;&#x4F8B;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;
  211. ## ngIf
  212. &#x6839;&#x636E;&#x540C;&#x503C;&#x4E0D;&#x540C;&#x6761;&#x4EF6;&#x6E32;&#x67D3;&#x4E0D;&#x540C;&#x5143;&#x7D20;
  213. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;container&quot;</span>&gt;</span>
  214. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar == &apos;A&apos;&quot;</span>&gt;</span>Var is A<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  215. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar == &apos;B&apos;&quot;</span>&gt;</span>Var is B<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  216. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar != &apos;A&apos; &amp;&amp; myVar != &apos;B&apos;&quot;</span>&gt;</span>Var is something else<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  217. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  218. &#x589E;&#x52A0;&#x6761;&#x4EF6;&#x4E0E;&#x503C;
  219. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;container&quot;</span>&gt;</span>
  220. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar == &apos;A&apos;&quot;</span>&gt;</span>Var is A<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  221. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar == &apos;B&apos;&quot;</span>&gt;</span>Var is B<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  222. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar == &apos;C&apos;&quot;</span>&gt;</span>Var is C<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  223. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">&quot;myVar != &apos;A&apos; &amp;&amp; myVar != &apos;B&apos; &amp;&amp; myVar != &apos;C&apos;&quot;</span>&gt;</span>Var is something else<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  224. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  225. ### ngSwitch
  226. &#x6539;&#x53D8;&#x4E0A;&#x8FF0;&#x60C5;&#x51B5;&#xFF0C;&#x5B98;&#x65B9;&#x52A0;&#x5165; ngSwitch
  227. &#x4F7F;&#x7528; ngSwitchCase &#x6307;&#x4EE4;&#x63CF;&#x8FF0;&#x5DF2;&#x77E5;&#x7ED3;&#x679C;
  228. &#x4F7F;&#x7528; ngSwitchDefault &#x6307;&#x4EE4;&#x5904;&#x7406;&#x6240;&#x6709;&#x5176;&#x4ED6;&#x672A;&#x77E5;&#x60C5;&#x51B5;
  229. &#x91CD;&#x5199;&#x5B9E;&#x4F8B;
  230. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;container&quot;</span> [<span class="hljs-attr">ngSwitch</span>]=<span class="hljs-string">&quot;myVar&quot;</span>&gt;</span>
  231. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;&apos;A&apos;&quot;</span>&gt;</span>Var is A<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  232. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;&apos;B&apos;&quot;</span>&gt;</span>Var is B<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  233. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchDefault</span>&gt;</span>Var is something else<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  234. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  235. &#x6DFB;&#x52A0;&#x6761;&#x4EF6;&#xFF1A; ngSwitchDefault &#x5143;&#x7D20;&#x662F;&#x53EF;&#x9009;&#x7684;&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x4E0D;&#x7528;&#x5B83;,&#x90A3;&#x4E48;&#x5F53; myVar &#x6CA1;&#x6709;&#x5339;&#x914D;&#x5230;&#x4EFB;&#x4F55;&#x671F;&#x671B;&#x7684;&#x503C;
  236. &#x65F6;&#x5C31;&#x4E0D;&#x4F1A;&#x6E32;&#x67D3;&#x4EFB;&#x4F55;&#x4E1C;&#x897F;&#x3002;
  237. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;container&quot;</span> [<span class="hljs-attr">ngSwitch</span>]=<span class="hljs-string">&quot;myVar&quot;</span>&gt;</span>
  238. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;&apos;A&apos;&quot;</span>&gt;</span>Var is A<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  239. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;&apos;B&apos;&quot;</span>&gt;</span>Var is B<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  240. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;&apos;C&apos;&quot;</span>&gt;</span>Var is C<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  241. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchDefault</span>&gt;</span>Var is something else<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  242. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  243. &#x4E3A;&#x4E0D;&#x540C;&#x7684;&#x5143;&#x7D20;&#x58F0;&#x660E;&#x540C;&#x6837;&#x7684; *ngSwitchCase &#x503C;
  244. &#x5728;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;,&#x5F53; choice &#x7684;&#x503C;&#x662F; 2 &#x7684;&#x65F6;&#x5019;,&#x7B2C;2&#x4E2A;&#x548C;&#x7B2C;5&#x4E2A; li &#x90FD;&#x4F1A;&#x88AB;&#x6E32;&#x67D3;&#x3002;
  245. <span class="hljs-tag">&lt;<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui horizontal divider header&quot;</span>&gt;</span>
  246. Current choice is {{ choice }}
  247. <span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
  248. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui raised segment&quot;</span>&gt;</span>
  249. <span class="hljs-tag">&lt;<span class="hljs-name">ul</span> [<span class="hljs-attr">ngSwitch</span>]=<span class="hljs-string">&quot;choice&quot;</span>&gt;</span>
  250. <span class="hljs-tag">&lt;<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;1&quot;</span>&gt;</span>First choice<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
  251. <span class="hljs-tag">&lt;<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;2&quot;</span>&gt;</span>Second choice<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
  252. <span class="hljs-tag">&lt;<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;3&quot;</span>&gt;</span>Third choice<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
  253. <span class="hljs-tag">&lt;<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;4&quot;</span>&gt;</span>Fourth choice<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
  254. <span class="hljs-tag">&lt;<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">&quot;2&quot;</span>&gt;</span>Second choice, again<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
  255. <span class="hljs-tag">&lt;<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchDefault</span>&gt;</span>Default choice<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
  256. <span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
  257. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  258. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">&quot;margin-top: 20px;&quot;</span>&gt;</span>
  259. <span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui primary button&quot;</span> (<span class="hljs-attr">click</span>)=<span class="hljs-string">&quot;nextChoice()&quot;</span>&gt;</span>
  260. Next choice
  261. <span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
  262. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  263. </code></pre>
  264. <h3 id="ngstyle">ngStyle</h3>
  265. <blockquote>
  266. <p>&#x7B2C;&#x4E00;&#x79CD;&#x7528;&#x6CD5;&#xFF1A;&#x4F7F;&#x7528; ngStyle &#x6307;&#x4EE4;,&#x53EF;&#x4EE5;&#x901A;&#x8FC7;Angular&#x8868;&#x8FBE;&#x5F0F;&#x7ED9;&#x7279;&#x5B9A;&#x7684;DOM&#x5143;&#x7D20;&#x8BBE;&#x5B9A;CSS&#x5C5E;&#x6027;&#x3002;
  267. &#x8BE5;&#x6307;&#x4EE4;&#x6700;&#x7B80;&#x5355;&#x7684;&#x7528;&#x6CD5;&#x5C31;&#x662F; [style.<cssproperty>]=&quot;value&quot; &#x7684;&#x5F62;&#x5F0F;,</cssproperty></p>
  268. </blockquote>
  269. <pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">style.background-color</span>]=<span class="hljs-string">&quot;&apos;yellow&apos;&quot;</span>&gt;</span>
  270. Uses fixed yellow background
  271. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  272. </code></pre>
  273. <blockquote>
  274. <p>&#x7B2C;&#x4E8C;&#x79CD;&#x7528;&#x6CD5;&#xFF1A;&#x8BBE;&#x7F6E;&#x56FA;&#x5B9A;&#x503C;&#x7684;&#x65B9;&#x5F0F;&#x5C31;&#x662F;&#x4F7F;&#x7528; ngStyle &#x5C5E;&#x6027;,&#x4F7F;&#x7528;&#x952E;&#x503C;&#x5BF9;&#x6765;&#x8BBE;&#x7F6E;&#x6BCF;&#x4E2A;&#x5C5E;&#x6027;</p>
  275. </blockquote>
  276. <pre><code class="lang-html"><span class="hljs-comment">&lt;!--&#x8FDE;&#x5B57;&#x7B26;&#x662F;&#x4E0D;&#x5141;&#x8BB8;&#x51FA;&#x73B0;&#x5728;&#x5BF9;&#x8C61;&#x7684;&#x952E;&#x503C;&#x5BF9;&#x4E2D;&#x7684;&#xFF0C;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x5F15;&#x53F7;--&gt;</span>
  277. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">ngStyle</span>]=<span class="hljs-string">&quot;{color: &apos;white&apos;, &apos;background-color&apos;: &apos;blue&apos;}&quot;</span>&gt;</span>
  278. Uses fixed white text on blue background
  279. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  280. </code></pre>
  281. <blockquote>
  282. <p>&#x7B2C;&#x4E09;&#x79CD;&#x7528;&#x6CD5;&#xFF1A;&#x8FD9;&#x4E2A;&#x624D;&#x662F;ngStyle&#x7684;&#x51FA;&#x5F69;&#x7684;&#x5730;&#x65B9;</p>
  283. </blockquote>
  284. <pre><code class="lang-html"><span class="hljs-comment">&lt;!--&#x5728;component&#x4E2D;&#x58F0;&#x660E;&#x53D8;&#x91CF;&#xFF0C;&#x5B9A;&#x4E49;apply&#x51FD;&#x6570;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x6846;&#x4E2D;&#x5BF9;&#x5E94;&#x7684;&#x503C;&#xFF0C;&#x901A;&#x8FC7;ngStyle&#x7ED1;&#x5B9A;&#x5230;&#x989C;&#x8272;&#x4E0E;&#x5B57;&#x4F53;&#x5927;&#x5C0F;&#x7684;&#x5C5E;&#x6027;&#x4E0A;&#x53BB;--&gt;</span>
  285. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui input&quot;</span>&gt;</span>
  286. <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;text&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;color&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;{{color}}&quot;</span> #<span class="hljs-attr">colorinput</span>&gt;</span>
  287. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  288. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui input&quot;</span>&gt;</span>
  289. <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;text&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;fontSize&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;{{fontSize}}&quot;</span> #<span class="hljs-attr">fontinput</span>&gt;</span>
  290. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  291. <span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui primary button&quot;</span> (<span class="hljs-attr">click</span>)=<span class="hljs-string">&quot;apply(colorinput.value, fontinput.value)&quot;</span>&gt;</span>
  292. Apply setting
  293. <span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
  294. <span class="hljs-comment">&lt;!--&#x6570;&#x636E;&#x7ED1;&#x5B9A;&#x7684;2&#x79CD;&#x65B9;&#x5F0F;--&gt;</span>
  295. <span class="hljs-tag">&lt;<span class="hljs-name">span</span> [<span class="hljs-attr">ngStyle</span>]=<span class="hljs-string">&quot;{color: color,&apos;font-size&apos;: fontSize + &apos;em&apos;}&quot;</span>&gt;</span>
  296. {{ color }} text
  297. <span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
  298. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">style.background-color</span>]=<span class="hljs-string">&quot;color&quot;</span>
  299. [<span class="hljs-attr">style.font-size.em</span>]=<span class="hljs-string">&quot;fontSize&quot;</span>
  300. <span class="hljs-attr">style</span>=<span class="hljs-string">&quot;color: white;&quot;</span>&gt;</span>
  301. {{ color }} background
  302. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  303. </code></pre>
  304. <pre><code class="lang-typescript"><span class="hljs-comment">// &#x5B9A;&#x4E49;&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF0C;&#x5B9A;&#x4E49;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;</span>
  305. <span class="hljs-keyword">export</span> <span class="hljs-keyword">class</span> InventoryAppComponent <span class="hljs-keyword">implements</span> OnInit {
  306. color:<span class="hljs-built_in">string</span>;
  307. fontSize:<span class="hljs-built_in">number</span>;
  308. apply(color: <span class="hljs-built_in">string</span>, fontSize: <span class="hljs-built_in">number</span>) {
  309. <span class="hljs-keyword">this</span>.color = color;
  310. <span class="hljs-keyword">this</span>.fontSize = fontSize;
  311. }
  312. <span class="hljs-keyword">constructor</span>() {
  313. }
  314. ngOnInit() {
  315. }
  316. }
  317. </code></pre>
  318. <h3 id="ngclass">ngClass</h3>
  319. <blockquote>
  320. <p>ngClass &#x6307;&#x4EE4;&#x5728;HTML&#x6A21;&#x677F;&#x4E2D;&#x7528; ngClass &#x5C5E;&#x6027;&#x6765;&#x8868;&#x793A;,&#x8BA9;&#x4F60;&#x80FD;&#x52A8;&#x6001;&#x8BBE;&#x7F6E;&#x548C;&#x6539;&#x53D8;&#x4E00;&#x4E2A;&#x7ED9;&#x5B9A;DOM&#x5143;&#x7D20;&#x7684;CSS&#x7C7B;&#x3002;
  321. &#x4EE5;&#x4E0B;&#x662F;&#x6700;&#x7B80;&#x5355;&#x7684;&#x7528;&#x6CD5;&#x3002;</p>
  322. </blockquote>
  323. <pre><code class="lang-scss"><span class="hljs-selector-class">.bordered</span> {
  324. <span class="hljs-attribute">border</span>: <span class="hljs-number">1px</span> dashed black;
  325. <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#eee</span>;
  326. }
  327. </code></pre>
  328. <pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">&quot;{bordered: false}&quot;</span>&gt;</span>This is never bordered<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  329. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">&quot;{bordered: true}&quot;</span>&gt;</span>This is always bordered<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  330. </code></pre>
  331. <blockquote>
  332. <p>&#x52A8;&#x6001;&#x6DFB;&#x52A0;class</p>
  333. </blockquote>
  334. <pre><code class="lang-html"><span class="hljs-comment">&lt;!-- *&apos;`&apos;&#x7B26;&#x53F7;&#x662F;&#x4E3A;&#x4E86;&#x907F;&#x514D;gitbook&#x6E32;&#x67D3;&#x9875;&#x9762;&#x51FA;&#x73B0;&#x6545;&#x969C;* --&gt;</span>
  335. <span class="hljs-comment">&lt;!-- &#x901A;&#x8FC7;ngClass&#x7ED1;&#x5B9A;&#x6570;&#x636E;&#x5230;&#x5404;&#x5143;&#x7D20;&#x7684;class&#x4E0A; --&gt;</span>
  336. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">&quot;classesObj&quot;</span>&gt;</span>
  337. Using object var. Border `{{ classesObj.bordered ? &quot;ON&quot; : &quot;OFF&quot; }}`
  338. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  339. <span class="hljs-tag">&lt;<span class="hljs-name">hr</span>&gt;</span>
  340. <span class="hljs-comment">&lt;!-- &#x6839;&#x636E;&#x6761;&#x4EF6;&#x7ED1;&#x5B9A;&#x6570;&#x636E; --&gt;</span>
  341. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">&quot;{bordered: isBordered}&quot;</span>&gt;</span>
  342. Using object literal. Border `{{ isBordered ? &quot;ON&quot; : &quot;OFF&quot; }}`
  343. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  344. <span class="hljs-tag">&lt;<span class="hljs-name">hr</span>&gt;</span>
  345. <span class="hljs-comment">&lt;!-- &#x5B9A;&#x4E49;&#x6570;&#x7EC4;&#x7ED1;&#x5B9A;class --&gt;</span>
  346. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;base&quot;</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">&quot;[&apos;blue&apos;, &apos;round&apos;]&quot;</span>&gt;</span>
  347. This will always have a blue background and
  348. round corners
  349. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  350. <span class="hljs-comment">&lt;!-- &#x52A8;&#x6001;&#x5B9A;&#x4E49;&#x6570;&#x7EC4;&#x7ED1;&#x5B9A;&#x7C7B; --&gt;</span>
  351. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;base&quot;</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">&quot;classList&quot;</span>&gt;</span>
  352. <span class="hljs-comment">&lt;!-- &#x5224;&#x65AD;&#x7C7B;&#x662F;&#x5426;&#x5B58;&#x5728; --&gt;</span>
  353. This is { { classList.indexOf(&apos;blue&apos;) &gt; -1 ? &quot;&quot; : &quot;NOT&quot;}} blue
  354. and { { classList.indexOf(&apos;round&apos;) &gt; 1 ? &quot;&quot; :&quot;NOT&quot; }} round
  355. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  356. </code></pre>
  357. <pre><code class="lang-typescript"><span class="hljs-comment">// &#x5B9A;&#x4E49;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x8D4B;&#x503C;</span>
  358. <span class="hljs-keyword">export</span> <span class="hljs-keyword">class</span> InventoryAppComponent <span class="hljs-keyword">implements</span> OnInit {
  359. isBordered: <span class="hljs-built_in">boolean</span>;
  360. classesObj: <span class="hljs-built_in">Object</span>;
  361. classList: <span class="hljs-built_in">string</span>[];
  362. <span class="hljs-keyword">constructor</span>() {
  363. <span class="hljs-keyword">this</span>.isBordered = <span class="hljs-literal">true</span>;
  364. <span class="hljs-keyword">this</span>.classesObj = {
  365. bordered : <span class="hljs-string">&quot;bordered&quot;</span>
  366. };
  367. <span class="hljs-keyword">this</span>.classList = [<span class="hljs-string">&apos;blue&apos;</span>, <span class="hljs-string">&apos;round&apos;</span>];
  368. <span class="hljs-built_in">console</span>.log(<span class="hljs-keyword">this</span>)
  369. }
  370. ngOnInit() {
  371. }
  372. }
  373. </code></pre>
  374. <h3 id="ngfor">ngFor</h3>
  375. <blockquote>
  376. <p>&#x8FD9;&#x4E2A;&#x6307;&#x4EE4;&#x7684;&#x4EFB;&#x52A1;&#x662F;&#x91CD;&#x590D;&#x4E00;&#x4E2A;&#x7ED9;&#x5B9A;&#x7684;DOM&#x5143;&#x7D20; (&#x6216;&#x4E00;&#x7EC4;DOM&#x5143;&#x7D20;),&#x6BCF;&#x6B21;&#x91CD;&#x590D;&#x90FD;&#x4F1A;&#x4ECE;&#x6570;&#x7EC4;&#x4E2D;&#x53D6;
  377. &#x4E00;&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x503C;&#x3002;<br>
  378. &#x5B83;&#x7684;&#x8BED;&#x6CD5;&#x662F; *ngFor=&quot;let item of items&quot; &#x3002;</p>
  379. </blockquote>
  380. <p><code>&#x7B80;&#x5316;&#x7248;</code></p>
  381. <pre><code class="lang-typescript">cities: <span class="hljs-built_in">string</span>[];
  382. <span class="hljs-keyword">constructor</span>() {
  383. <span class="hljs-keyword">this</span>.cities = [<span class="hljs-string">&apos;Miami&apos;</span>, <span class="hljs-string">&apos;Sao Paulo&apos;</span>, <span class="hljs-string">&apos;New York&apos;</span>];
  384. }
  385. </code></pre>
  386. <pre><code class="lang-HTML"><span class="hljs-tag">&lt;<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui horizontal divider header&quot;</span>&gt;</span>
  387. Simple list of strings
  388. <span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
  389. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui list&quot;</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">&quot;let c of cities&quot;</span>&gt;</span>
  390. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;item&quot;</span>&gt;</span>{{ c }}<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  391. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  392. <span class="hljs-comment">&lt;!-- &#x8F93;&#x51FA; --&gt;</span>
  393. Miami
  394. Sao Paulo
  395. New York
  396. </code></pre>
  397. <p><code>&#x8FDB;&#x9636;&#x7248;</code></p>
  398. <pre><code class="lang-typescript">people: <span class="hljs-built_in">Object</span>[];
  399. <span class="hljs-keyword">constructor</span>() {
  400. <span class="hljs-keyword">this</span>.people = [
  401. { name: <span class="hljs-string">&apos;Anderson&apos;</span>, age: <span class="hljs-number">35</span>, city: <span class="hljs-string">&apos;Sao Paulo&apos;</span> },
  402. { name: <span class="hljs-string">&apos;John&apos;</span>, age: <span class="hljs-number">12</span>, city: <span class="hljs-string">&apos;Miami&apos;</span> },
  403. { name: <span class="hljs-string">&apos;Peter&apos;</span>, age: <span class="hljs-number">22</span>, city: <span class="hljs-string">&apos;New York&apos;</span> }
  404. ];
  405. }
  406. </code></pre>
  407. <pre><code class="lang-HTML"><span class="hljs-tag">&lt;<span class="hljs-name">h4</span>&gt;</span>table<span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
  408. <span class="hljs-tag">&lt;<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui horizontal divider header&quot;</span>&gt;</span>
  409. List of objects
  410. <span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
  411. <span class="hljs-tag">&lt;<span class="hljs-name">table</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui celled table&quot;</span> <span class="hljs-attr">border</span>=<span class="hljs-string">&quot;0&quot;</span> <span class="hljs-attr">cellspacing</span>=<span class="hljs-string">&quot;0&quot;</span> <span class="hljs-attr">cellpadding</span>=<span class="hljs-string">&quot;0&quot;</span>&gt;</span>
  412. <span class="hljs-tag">&lt;<span class="hljs-name">thead</span>&gt;</span>
  413. <span class="hljs-tag">&lt;<span class="hljs-name">tr</span>&gt;</span>
  414. <span class="hljs-tag">&lt;<span class="hljs-name">th</span>&gt;</span>Name<span class="hljs-tag">&lt;/<span class="hljs-name">th</span>&gt;</span>
  415. <span class="hljs-tag">&lt;<span class="hljs-name">th</span>&gt;</span>Age<span class="hljs-tag">&lt;/<span class="hljs-name">th</span>&gt;</span>
  416. <span class="hljs-tag">&lt;<span class="hljs-name">th</span>&gt;</span>City<span class="hljs-tag">&lt;/<span class="hljs-name">th</span>&gt;</span>
  417. <span class="hljs-tag">&lt;/<span class="hljs-name">tr</span>&gt;</span>
  418. <span class="hljs-tag">&lt;/<span class="hljs-name">thead</span>&gt;</span>
  419. <span class="hljs-tag">&lt;<span class="hljs-name">tr</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">&quot;let p of people&quot;</span>&gt;</span>
  420. <span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>{{ p.name }}<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span>
  421. <span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>{{ p.age }}<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span>
  422. <span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>{{ p.city }}<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span>
  423. <span class="hljs-tag">&lt;/<span class="hljs-name">tr</span>&gt;</span>
  424. <span class="hljs-tag">&lt;/<span class="hljs-name">table</span>&gt;</span>
  425. </code></pre>
  426. <p><code>&#x8F93;&#x51FA;</code></p>
  427. <table>
  428. <thead>
  429. <tr>
  430. <th style="text-align:center">Name</th>
  431. <th style="text-align:center">Age</th>
  432. <th style="text-align:center">City</th>
  433. </tr>
  434. </thead>
  435. <tbody>
  436. <tr>
  437. <td style="text-align:center">Anderson</td>
  438. <td style="text-align:center">35</td>
  439. <td style="text-align:center">Sao Paulo</td>
  440. </tr>
  441. <tr>
  442. <td style="text-align:center">John</td>
  443. <td style="text-align:center">12</td>
  444. <td style="text-align:center">Miami</td>
  445. </tr>
  446. <tr>
  447. <td style="text-align:center">Peter</td>
  448. <td style="text-align:center">22</td>
  449. <td style="text-align:center">New York</td>
  450. </tr>
  451. </tbody>
  452. </table>
  453. <p><code>&#x5D4C;&#x5957;&#x6570;&#x7EC4;</code></p>
  454. <pre><code class="lang-HTML"><span class="hljs-tag">&lt;<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui horizontal divider header&quot;</span>&gt;</span>
  455. Nested data
  456. <span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
  457. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">&quot;let item of peopleByCity&quot;</span>&gt;</span>
  458. <span class="hljs-tag">&lt;<span class="hljs-name">h2</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui header&quot;</span>&gt;</span>{{ item.city }}<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>
  459. <span class="hljs-tag">&lt;<span class="hljs-name">table</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui celled table&quot;</span>&gt;</span>
  460. <span class="hljs-tag">&lt;<span class="hljs-name">thead</span>&gt;</span>
  461. <span class="hljs-tag">&lt;<span class="hljs-name">tr</span>&gt;</span>
  462. <span class="hljs-tag">&lt;<span class="hljs-name">th</span>&gt;</span>Name<span class="hljs-tag">&lt;/<span class="hljs-name">th</span>&gt;</span>
  463. <span class="hljs-tag">&lt;<span class="hljs-name">th</span>&gt;</span>Age<span class="hljs-tag">&lt;/<span class="hljs-name">th</span>&gt;</span>
  464. <span class="hljs-tag">&lt;/<span class="hljs-name">tr</span>&gt;</span>
  465. <span class="hljs-tag">&lt;/<span class="hljs-name">thead</span>&gt;</span>
  466. <span class="hljs-tag">&lt;<span class="hljs-name">tr</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">&quot;let p of item.people&quot;</span>&gt;</span>
  467. <span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>{{ p.name }}<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span>
  468. <span class="hljs-tag">&lt;<span class="hljs-name">td</span>&gt;</span>{{ p.age }}<span class="hljs-tag">&lt;/<span class="hljs-name">td</span>&gt;</span>
  469. <span class="hljs-tag">&lt;/<span class="hljs-name">tr</span>&gt;</span>
  470. <span class="hljs-tag">&lt;/<span class="hljs-name">table</span>&gt;</span>
  471. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  472. </code></pre>
  473. <pre><code class="lang-typescript">peopleByCity: <span class="hljs-built_in">Object</span>;
  474. <span class="hljs-keyword">constructor</span>() {
  475. <span class="hljs-keyword">this</span>.peopleByCity = [
  476. {
  477. city: <span class="hljs-string">&apos;Miami&apos;</span>,
  478. people: [
  479. { name: <span class="hljs-string">&apos;John&apos;</span>, age: <span class="hljs-number">12</span> },
  480. { name: <span class="hljs-string">&apos;Angel&apos;</span>, age: <span class="hljs-number">22</span> }
  481. ]
  482. },
  483. {
  484. city: <span class="hljs-string">&apos;Sao Paulo&apos;</span>,
  485. people: [
  486. { name: <span class="hljs-string">&apos;Anderson&apos;</span>, age: <span class="hljs-number">35</span> },
  487. { name: <span class="hljs-string">&apos;Felipe&apos;</span>, age: <span class="hljs-number">36</span> }
  488. ]
  489. }
  490. ];
  491. }
  492. </code></pre>
  493. <p><code>&#x8F93;&#x51FA; Miami</code></p>
  494. <table>
  495. <thead>
  496. <tr>
  497. <th style="text-align:center">Name</th>
  498. <th style="text-align:center">Age</th>
  499. </tr>
  500. </thead>
  501. <tbody>
  502. <tr>
  503. <td style="text-align:center">John</td>
  504. <td style="text-align:center">12</td>
  505. </tr>
  506. <tr>
  507. <td style="text-align:center">Angel</td>
  508. <td style="text-align:center">22</td>
  509. </tr>
  510. </tbody>
  511. </table>
  512. <p><code>&#x8F93;&#x51FA; Sao Paulo</code></p>
  513. <table>
  514. <thead>
  515. <tr>
  516. <th style="text-align:center">Name</th>
  517. <th style="text-align:center">Age</th>
  518. </tr>
  519. </thead>
  520. <tbody>
  521. <tr>
  522. <td style="text-align:center">Anderson</td>
  523. <td style="text-align:center">35</td>
  524. </tr>
  525. <tr>
  526. <td style="text-align:center">Felipe</td>
  527. <td style="text-align:center">36</td>
  528. </tr>
  529. </tbody>
  530. </table>
  531. <p><code>&#x83B7;&#x53D6;&#x7D22;&#x5F15;</code></p>
  532. <pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ui list&quot;</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">&quot;let c of cities; let num = index&quot;</span>&gt;</span>
  533. <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;item&quot;</span>&gt;</span>{{ num+1 }} - {{ c }}<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  534. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  535. <span class="hljs-comment">&lt;!-- &#x8F93;&#x51FA; --&gt;</span>
  536. 1-Miami
  537. 2-Sao Paulo
  538. 3-New York
  539. </code></pre>
  540. <h3 id="ngnonbindable">ngNonBindable</h3>
  541. <blockquote>
  542. <p>&#x5F53;&#x6211;&#x4EEC;&#x60F3;&#x544A;&#x8BC9;Angular&#x4E0D;&#x8981;&#x7F16;&#x8BD1;&#x6216;&#x8005;&#x7ED1;&#x5B9A;&#x9875;&#x9762;&#x4E2D;&#x7684;&#x67D0;&#x4E2A;&#x7279;&#x6B8A;&#x90E8;&#x5206;&#x65F6;,&#x8981;&#x4F7F;&#x7528; ngNodBindable&#x6307;&#x4EE4;&#x3002;</p>
  543. </blockquote>
  544. <pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;ngNonBindableDome&quot;</span>&gt;</span>
  545. <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;borderd&quot;</span>&gt;</span>{{content}}<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
  546. <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;pre&quot;</span> <span class="hljs-attr">ngNonBindable</span>&gt;</span>
  547. &amp;larr;This is what {{ content }} rendered
  548. <span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
  549. <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  550. &#x8F93;&#x51FA;
  551. &#x6587;&#x7AE0; &#x2190;This is what {{ content }} rendered
  552. </code></pre>
  553. </div>
  554. <hr>
  555. <div class="btn-group btn-group-justified">
  556. <a class="btn" href="0_depend.html"><b>上一页:</b> 项目依赖</a>
  557. <a class="btn" href="from/"><b>下一页:</b> 表单</a>
  558. </div>
  559. </div>
  560. <div class="search-results">
  561. <div class="has-results">
  562. <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
  563. <ul class="search-results-list"></ul>
  564. </div>
  565. <div class="no-results">
  566. <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
  567. </div>
  568. </div>
  569. </div>
  570. </div>
  571. </div>
  572. </div>
  573. </div>
  574. </div>
  575. <footer class="gb-page-footer">
  576. <div class="container">
  577. <ul class="menu">
  578. <li class="pull-right">
  579. <span class="service-info">Copyright GitBook 2018</span>
  580. </li>
  581. <li>
  582. <a href="#">Return to the top</a>
  583. </li>
  584. <li>
  585. <a href="#">Updated May 30th 18</a>
  586. </li>
  587. </ul>
  588. </div>
  589. </footer>
  590. </div>
  591. <script src="../../gitbook/gitbook.js"></script>
  592. <script src="../../gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
  593. <script src="../../gitbook/gitbook-plugin-search-pro/search.js"></script>
  594. <script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
  595. <script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
  596. <script>
  597. (function() {
  598. gitbook.page.hasChanged({"page":{"title":"内置指令","level":"3.1.2","depth":2,"next":{"title":"表单","level":"3.1.3","depth":2,"path":"angular/study_notes/from/README.md","ref":"angular/study_notes/from/README.md","articles":[{"title":"模板案例","level":"3.1.3.1","depth":3,"path":"angular/study_notes/from/0_template_case.md","ref":"angular/study_notes/from/0_template_case.md","articles":[]},{"title":"formControl","level":"3.1.3.2","depth":3,"path":"angular/study_notes/from/01_formControl.md","ref":"angular/study_notes/from/01_formControl.md","articles":[]},{"title":"directives_源码解析","level":"3.1.3.3","depth":3,"path":"angular/study_notes/from/02_directives.md","ref":"angular/study_notes/from/02_directives.md","articles":[]},{"title":"ngModel","level":"3.1.3.4","depth":3,"path":"angular/study_notes/from/03_ng_model.md","ref":"angular/study_notes/from/03_ng_model.md","articles":[]},{"title":"表单验证&自定义验证器","level":"3.1.3.5","depth":3,"path":"angular/study_notes/from/04_Form-Validation_&_Custom-Validator.md","ref":"angular/study_notes/from/04_Form-Validation_&_Custom-Validator.md","articles":[]},{"title":"监听表单数据变化","level":"3.1.3.6","depth":3,"path":"angular/study_notes/from/05_Listen_to_form_data_changes.md","ref":"angular/study_notes/from/05_Listen_to_form_data_changes.md","articles":[]},{"title":"问题收集","level":"3.1.3.7","depth":3,"path":"angular/study_notes/from/06_Problem_collection.md","ref":"angular/study_notes/from/06_Problem_collection.md","articles":[]}]},"previous":{"title":"项目依赖","level":"3.1.1","depth":2,"path":"angular/study_notes/0_depend.md","ref":"angular/study_notes/0_depend.md","articles":[]},"dir":"ltr"},"config":{"plugins":["theme-official@2.1.1","-sharing","-fontsettings","sitemap","-search","search-pro"],"root":"./docs/","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"sitemap":{"hostname":"https://blog.honghaitao.net/"},"search-pro":{"cutWordLib":"nodejieba","defineWord":["小需求","基础建设"]},"highlight":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"theme-official":{},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"version":"0.0.1"},"title":"代码收集","gitbook":"3.1.1"},"file":{"path":"angular/study_notes/01_built-in_instructions.md","mtime":"2018-05-30T08:23:34.368Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2018-05-31T08:27:54.027Z"},"basePath":"../..","book":{"language":""}});
  599. })();
  600. </script>
  601. </body>
  602. </html>