1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081 |
- <!DOCTYPE HTML>
- <html lang="" >
- <head>
- <meta charset="UTF-8">
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
- <title>内置指令 · 代码收集</title>
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="description" content="">
- <meta name="generator" content="GitBook 3.1.1">
-
-
-
-
- <link rel="stylesheet" href="../../gitbook/style.css">
-
-
-
- <link rel="stylesheet" href="../../gitbook/gitbook-plugin-search-pro/search.css">
-
-
-
- <link rel="stylesheet" href="../../gitbook/gitbook-plugin-highlight/website.css">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <meta name="HandheldFriendly" content="true"/>
- <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
- <meta name="apple-mobile-web-app-capable" content="yes">
- <meta name="apple-mobile-web-app-status-bar-style" content="black">
- <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
- <link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
-
- <link rel="next" href="from/" />
-
-
- <link rel="prev" href="0_depend.html" />
-
- </head>
- <body>
-
- <div class="gb-page-wrapper">
- <header class="gb-page-header">
- <div class="container">
-
-
- <div id="book-search-input" role="search">
- <input type="text" placeholder="Type to search" />
- </div>
- <a href="../.." class="logo">
- <img src="../../gitbook/images/logo/128.png">
- <h1>代码收集</h1>
- </a>
-
-
- <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">
- <i class="octicon octicon-mark-github"></i> 在GitHub编辑本页
- </a>
- <a href="../../faq.md" class="btn btn-link pull-right hidden-xs">
- F.A.Q
- </a>
- <a href="https://github.com/seamong/myBlogs/README.md" target="_blank" class="btn btn-link pull-right hidden-xs">
- 当前版本0.0.1
- </a>
-
- </div>
- </header>
- <div class="gb-page-body">
- <div class="gb-page-inner">
- <div class="container">
- <div class="row">
- <div class="col-md-3">
-
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">介绍</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../" class="list-group-item ">
-
-
-
- 关于本文档
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">JavaScript</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../JavaScript/principle/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 原理解析
-
- </a>
-
-
-
-
- <a href="../../JavaScript/cases/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 案例解析
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">angular</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="./" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-down"></i>
-
- Study notes
-
- </a>
-
-
-
-
-
- <a href="0_depend.html" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 项目依赖
-
- </a>
-
-
-
-
- <a href="01_built-in_instructions.html" class="list-group-item active">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- 内置指令
-
- </a>
-
-
-
-
- <a href="from/" class="list-group-item ">
-
-
- <i class="octicon octicon-chevron-down" style="opacity: 0"></i>
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 表单
-
- </a>
-
-
-
-
-
-
- <a href="../ng.html" class="list-group-item ">
-
-
-
- ng
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">css</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../css/principle/" class="list-group-item ">
-
-
-
- 原理解析
-
- </a>
-
-
-
-
- <a href="../../css/cases/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 案例收集
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">vue</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../vue/components/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- components
-
- </a>
-
-
-
-
- <a href="../../vue/router/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- router
-
- </a>
-
-
-
-
- <a href="../../vue/vuex/" class="list-group-item ">
-
-
-
- VUE
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">ubuntu</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../ubuntu/serves/" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- 服务器生存指南
-
- </a>
-
-
-
-
- <a href="../../ubuntu/instruction.html" class="list-group-item ">
-
-
-
- 常用指令
-
- </a>
-
-
-
-
- <a href="../../ubuntu/software/" class="list-group-item ">
-
-
-
- 常用软件安装
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">GIT</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../git/git.html" class="list-group-item ">
-
-
-
- git 命令
-
- </a>
-
-
-
-
- <a href="../../git/push.html" class="list-group-item ">
-
-
-
- git~push
-
- </a>
-
-
-
-
- <a href="../../git/faq.html" class="list-group-item ">
-
-
-
- git~F.A.Q
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="panel-heading">
- <h3 class="panel-title">NODE&NPM</h3>
- </div>
-
- <div class="list-group">
-
-
-
- <a href="../../node/0.html" class="list-group-item ">
-
-
-
- <i class="octicon octicon-chevron-right"></i>
-
- node
-
- </a>
-
-
-
-
- <a href="../../node/npm/0.html" class="list-group-item ">
-
-
-
- npm
-
- </a>
-
-
-
- </div>
- </div>
-
- <div class="panel panel-default">
-
- <div class="list-group">
-
-
-
- <a href="../../other/faq.html" class="list-group-item ">
-
-
-
- FAQ
-
- </a>
-
-
-
-
- <a href="../../other/examples.html" class="list-group-item ">
-
-
-
- Examples
-
- </a>
-
-
-
- </div>
- </div>
-
- </div>
- <div class="col-md-9">
-
- <div id="book-search-results">
- <div class="search-noresults">
-
-
- <div class="gb-markdown book-page-inner">
- <h3 id="ngif">ngIf</h3>
- <blockquote>
- <p><strong> 如果你希望根据一个条件来决定显示或隐藏一个元素,可以使用 ngIf 指令。这个条件是由你传给指令的表达式的结果决定的。<br>
- </strong> 如果表达式的结果返回的是一个假值,那么元素会从DOM上被移除。</p>
- </blockquote>
- <pre><code class="lang-html"># 例子:
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = "<span class="hljs-attr">false</span>" ></span><span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = "<span class="hljs-attr">a</span> ></span> b" ><span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = "<span class="hljs-attr">str</span> =<span class="hljs-string">=</span> '<span class="hljs-attr">yes</span>'" ></span><span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span> = "<span class="hljs-attr">myFunc</span>()" ></span><span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <h3 id="ngswitch">ngSwitch</h3>
- <blockquote>
- <p>** 实际作用同等于 switch语句</p>
- </blockquote>
- <pre><code class="lang-html"># 通过2组实例进行比较
- ## ngIf
- 根据同值不同条件渲染不同元素
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"container"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar == 'A'"</span>></span>Var is A<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar == 'B'"</span>></span>Var is B<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar != 'A' && myVar != 'B'"</span>></span>Var is something else<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- 增加条件与值
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"container"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar == 'A'"</span>></span>Var is A<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar == 'B'"</span>></span>Var is B<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar == 'C'"</span>></span>Var is C<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngIf</span>=<span class="hljs-string">"myVar != 'A' && myVar != 'B' && myVar != 'C'"</span>></span>Var is something else<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- ### ngSwitch
- 改变上述情况,官方加入 ngSwitch
- 使用 ngSwitchCase 指令描述已知结果
- 使用 ngSwitchDefault 指令处理所有其他未知情况
- 重写实例
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"container"</span> [<span class="hljs-attr">ngSwitch</span>]=<span class="hljs-string">"myVar"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"'A'"</span>></span>Var is A<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"'B'"</span>></span>Var is B<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchDefault</span>></span>Var is something else<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- 添加条件: ngSwitchDefault 元素是可选的。如果我们不用它,那么当 myVar 没有匹配到任何期望的值
- 时就不会渲染任何东西。
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"container"</span> [<span class="hljs-attr">ngSwitch</span>]=<span class="hljs-string">"myVar"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"'A'"</span>></span>Var is A<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"'B'"</span>></span>Var is B<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"'C'"</span>></span>Var is C<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngSwitchDefault</span>></span>Var is something else<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- 为不同的元素声明同样的 *ngSwitchCase 值
- 在下面的例子中,当 choice 的值是 2 的时候,第2个和第5个 li 都会被渲染。
- <span class="hljs-tag"><<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui horizontal divider header"</span>></span>
- Current choice is {{ choice }}
- <span class="hljs-tag"></<span class="hljs-name">h4</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui raised segment"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">ul</span> [<span class="hljs-attr">ngSwitch</span>]=<span class="hljs-string">"choice"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"1"</span>></span>First choice<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"2"</span>></span>Second choice<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"3"</span>></span>Third choice<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"4"</span>></span>Fourth choice<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchCase</span>=<span class="hljs-string">"2"</span>></span>Second choice, again<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">li</span> *<span class="hljs-attr">ngSwitchDefault</span>></span>Default choice<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">ul</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"margin-top: 20px;"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui primary button"</span> (<span class="hljs-attr">click</span>)=<span class="hljs-string">"nextChoice()"</span>></span>
- Next choice
- <span class="hljs-tag"></<span class="hljs-name">button</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <h3 id="ngstyle">ngStyle</h3>
- <blockquote>
- <p>第一种用法:使用 ngStyle 指令,可以通过Angular表达式给特定的DOM元素设定CSS属性。
- 该指令最简单的用法就是 [style.<cssproperty>]="value" 的形式,</cssproperty></p>
- </blockquote>
- <pre><code class="lang-html"><span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">style.background-color</span>]=<span class="hljs-string">"'yellow'"</span>></span>
- Uses fixed yellow background
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <blockquote>
- <p>第二种用法:设置固定值的方式就是使用 ngStyle 属性,使用键值对来设置每个属性</p>
- </blockquote>
- <pre><code class="lang-html"><span class="hljs-comment"><!--连字符是不允许出现在对象的键值对中的,需要使用引号--></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">ngStyle</span>]=<span class="hljs-string">"{color: 'white', 'background-color': 'blue'}"</span>></span>
- Uses fixed white text on blue background
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <blockquote>
- <p>第三种用法:这个才是ngStyle的出彩的地方</p>
- </blockquote>
- <pre><code class="lang-html"><span class="hljs-comment"><!--在component中声明变量,定义apply函数,将输入框中对应的值,通过ngStyle绑定到颜色与字体大小的属性上去--></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui input"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"color"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"{{color}}"</span> #<span class="hljs-attr">colorinput</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui input"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"fontSize"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"{{fontSize}}"</span> #<span class="hljs-attr">fontinput</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui primary button"</span> (<span class="hljs-attr">click</span>)=<span class="hljs-string">"apply(colorinput.value, fontinput.value)"</span>></span>
- Apply setting
- <span class="hljs-tag"></<span class="hljs-name">button</span>></span>
- <span class="hljs-comment"><!--数据绑定的2种方式--></span>
- <span class="hljs-tag"><<span class="hljs-name">span</span> [<span class="hljs-attr">ngStyle</span>]=<span class="hljs-string">"{color: color,'font-size': fontSize + 'em'}"</span>></span>
- {{ color }} text
- <span class="hljs-tag"></<span class="hljs-name">span</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">style.background-color</span>]=<span class="hljs-string">"color"</span>
- [<span class="hljs-attr">style.font-size.em</span>]=<span class="hljs-string">"fontSize"</span>
- <span class="hljs-attr">style</span>=<span class="hljs-string">"color: white;"</span>></span>
- {{ color }} background
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <pre><code class="lang-typescript"><span class="hljs-comment">// 定义数据类型,定义触发事件</span>
- <span class="hljs-keyword">export</span> <span class="hljs-keyword">class</span> InventoryAppComponent <span class="hljs-keyword">implements</span> OnInit {
- color:<span class="hljs-built_in">string</span>;
- fontSize:<span class="hljs-built_in">number</span>;
- apply(color: <span class="hljs-built_in">string</span>, fontSize: <span class="hljs-built_in">number</span>) {
- <span class="hljs-keyword">this</span>.color = color;
- <span class="hljs-keyword">this</span>.fontSize = fontSize;
- }
- <span class="hljs-keyword">constructor</span>() {
- }
- ngOnInit() {
- }
- }
- </code></pre>
- <h3 id="ngclass">ngClass</h3>
- <blockquote>
- <p>ngClass 指令在HTML模板中用 ngClass 属性来表示,让你能动态设置和改变一个给定DOM元素的CSS类。
- 以下是最简单的用法。</p>
- </blockquote>
- <pre><code class="lang-scss"><span class="hljs-selector-class">.bordered</span> {
- <span class="hljs-attribute">border</span>: <span class="hljs-number">1px</span> dashed black;
- <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#eee</span>;
- }
- </code></pre>
- <pre><code class="lang-html"><span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">"{bordered: false}"</span>></span>This is never bordered<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">"{bordered: true}"</span>></span>This is always bordered<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <blockquote>
- <p>动态添加class</p>
- </blockquote>
- <pre><code class="lang-html"><span class="hljs-comment"><!-- *'`'符号是为了避免gitbook渲染页面出现故障* --></span>
- <span class="hljs-comment"><!-- 通过ngClass绑定数据到各元素的class上 --></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">"classesObj"</span>></span>
- Using object var. Border `{{ classesObj.bordered ? "ON" : "OFF" }}`
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">hr</span>></span>
- <span class="hljs-comment"><!-- 根据条件绑定数据 --></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">"{bordered: isBordered}"</span>></span>
- Using object literal. Border `{{ isBordered ? "ON" : "OFF" }}`
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">hr</span>></span>
- <span class="hljs-comment"><!-- 定义数组绑定class --></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"base"</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">"['blue', 'round']"</span>></span>
- This will always have a blue background and
- round corners
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-comment"><!-- 动态定义数组绑定类 --></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"base"</span> [<span class="hljs-attr">ngClass</span>]=<span class="hljs-string">"classList"</span>></span>
- <span class="hljs-comment"><!-- 判断类是否存在 --></span>
- This is { { classList.indexOf('blue') > -1 ? "" : "NOT"}} blue
- and { { classList.indexOf('round') > 1 ? "" :"NOT" }} round
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <pre><code class="lang-typescript"><span class="hljs-comment">// 定义数据,并赋值</span>
- <span class="hljs-keyword">export</span> <span class="hljs-keyword">class</span> InventoryAppComponent <span class="hljs-keyword">implements</span> OnInit {
- isBordered: <span class="hljs-built_in">boolean</span>;
- classesObj: <span class="hljs-built_in">Object</span>;
- classList: <span class="hljs-built_in">string</span>[];
- <span class="hljs-keyword">constructor</span>() {
- <span class="hljs-keyword">this</span>.isBordered = <span class="hljs-literal">true</span>;
- <span class="hljs-keyword">this</span>.classesObj = {
- bordered : <span class="hljs-string">"bordered"</span>
- };
- <span class="hljs-keyword">this</span>.classList = [<span class="hljs-string">'blue'</span>, <span class="hljs-string">'round'</span>];
- <span class="hljs-built_in">console</span>.log(<span class="hljs-keyword">this</span>)
- }
- ngOnInit() {
- }
- }
- </code></pre>
- <h3 id="ngfor">ngFor</h3>
- <blockquote>
- <p>这个指令的任务是重复一个给定的DOM元素 (或一组DOM元素),每次重复都会从数组中取
- 一个不同的值。<br>
- 它的语法是 *ngFor="let item of items" 。</p>
- </blockquote>
- <p><code>简化版</code></p>
- <pre><code class="lang-typescript">cities: <span class="hljs-built_in">string</span>[];
- <span class="hljs-keyword">constructor</span>() {
- <span class="hljs-keyword">this</span>.cities = [<span class="hljs-string">'Miami'</span>, <span class="hljs-string">'Sao Paulo'</span>, <span class="hljs-string">'New York'</span>];
- }
- </code></pre>
- <pre><code class="lang-HTML"><span class="hljs-tag"><<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui horizontal divider header"</span>></span>
- Simple list of strings
- <span class="hljs-tag"></<span class="hljs-name">h4</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui list"</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">"let c of cities"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"item"</span>></span>{{ c }}<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-comment"><!-- 输出 --></span>
- Miami
- Sao Paulo
- New York
- </code></pre>
- <p><code>进阶版</code></p>
- <pre><code class="lang-typescript">people: <span class="hljs-built_in">Object</span>[];
- <span class="hljs-keyword">constructor</span>() {
- <span class="hljs-keyword">this</span>.people = [
- { name: <span class="hljs-string">'Anderson'</span>, age: <span class="hljs-number">35</span>, city: <span class="hljs-string">'Sao Paulo'</span> },
- { name: <span class="hljs-string">'John'</span>, age: <span class="hljs-number">12</span>, city: <span class="hljs-string">'Miami'</span> },
- { name: <span class="hljs-string">'Peter'</span>, age: <span class="hljs-number">22</span>, city: <span class="hljs-string">'New York'</span> }
- ];
- }
- </code></pre>
- <pre><code class="lang-HTML"><span class="hljs-tag"><<span class="hljs-name">h4</span>></span>table<span class="hljs-tag"></<span class="hljs-name">h4</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui horizontal divider header"</span>></span>
- List of objects
- <span class="hljs-tag"></<span class="hljs-name">h4</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">table</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui celled table"</span> <span class="hljs-attr">border</span>=<span class="hljs-string">"0"</span> <span class="hljs-attr">cellspacing</span>=<span class="hljs-string">"0"</span> <span class="hljs-attr">cellpadding</span>=<span class="hljs-string">"0"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">thead</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">tr</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">th</span>></span>Name<span class="hljs-tag"></<span class="hljs-name">th</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">th</span>></span>Age<span class="hljs-tag"></<span class="hljs-name">th</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">th</span>></span>City<span class="hljs-tag"></<span class="hljs-name">th</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">thead</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">tr</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">"let p of people"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">td</span>></span>{{ p.name }}<span class="hljs-tag"></<span class="hljs-name">td</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">td</span>></span>{{ p.age }}<span class="hljs-tag"></<span class="hljs-name">td</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">td</span>></span>{{ p.city }}<span class="hljs-tag"></<span class="hljs-name">td</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">table</span>></span>
- </code></pre>
- <p><code>输出</code></p>
- <table>
- <thead>
- <tr>
- <th style="text-align:center">Name</th>
- <th style="text-align:center">Age</th>
- <th style="text-align:center">City</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="text-align:center">Anderson</td>
- <td style="text-align:center">35</td>
- <td style="text-align:center">Sao Paulo</td>
- </tr>
- <tr>
- <td style="text-align:center">John</td>
- <td style="text-align:center">12</td>
- <td style="text-align:center">Miami</td>
- </tr>
- <tr>
- <td style="text-align:center">Peter</td>
- <td style="text-align:center">22</td>
- <td style="text-align:center">New York</td>
- </tr>
- </tbody>
- </table>
- <p><code>嵌套数组</code></p>
- <pre><code class="lang-HTML"><span class="hljs-tag"><<span class="hljs-name">h4</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui horizontal divider header"</span>></span>
- Nested data
- <span class="hljs-tag"></<span class="hljs-name">h4</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">"let item of peopleByCity"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">h2</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui header"</span>></span>{{ item.city }}<span class="hljs-tag"></<span class="hljs-name">h2</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">table</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui celled table"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">thead</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">tr</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">th</span>></span>Name<span class="hljs-tag"></<span class="hljs-name">th</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">th</span>></span>Age<span class="hljs-tag"></<span class="hljs-name">th</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">thead</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">tr</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">"let p of item.people"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">td</span>></span>{{ p.name }}<span class="hljs-tag"></<span class="hljs-name">td</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">td</span>></span>{{ p.age }}<span class="hljs-tag"></<span class="hljs-name">td</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">table</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- </code></pre>
- <pre><code class="lang-typescript">peopleByCity: <span class="hljs-built_in">Object</span>;
- <span class="hljs-keyword">constructor</span>() {
- <span class="hljs-keyword">this</span>.peopleByCity = [
- {
- city: <span class="hljs-string">'Miami'</span>,
- people: [
- { name: <span class="hljs-string">'John'</span>, age: <span class="hljs-number">12</span> },
- { name: <span class="hljs-string">'Angel'</span>, age: <span class="hljs-number">22</span> }
- ]
- },
- {
- city: <span class="hljs-string">'Sao Paulo'</span>,
- people: [
- { name: <span class="hljs-string">'Anderson'</span>, age: <span class="hljs-number">35</span> },
- { name: <span class="hljs-string">'Felipe'</span>, age: <span class="hljs-number">36</span> }
- ]
- }
- ];
- }
- </code></pre>
- <p><code>输出 Miami</code></p>
- <table>
- <thead>
- <tr>
- <th style="text-align:center">Name</th>
- <th style="text-align:center">Age</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="text-align:center">John</td>
- <td style="text-align:center">12</td>
- </tr>
- <tr>
- <td style="text-align:center">Angel</td>
- <td style="text-align:center">22</td>
- </tr>
- </tbody>
- </table>
- <p><code>输出 Sao Paulo</code></p>
- <table>
- <thead>
- <tr>
- <th style="text-align:center">Name</th>
- <th style="text-align:center">Age</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="text-align:center">Anderson</td>
- <td style="text-align:center">35</td>
- </tr>
- <tr>
- <td style="text-align:center">Felipe</td>
- <td style="text-align:center">36</td>
- </tr>
- </tbody>
- </table>
- <p><code>获取索引</code></p>
- <pre><code class="lang-html"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ui list"</span> *<span class="hljs-attr">ngFor</span>=<span class="hljs-string">"let c of cities; let num = index"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"item"</span>></span>{{ num+1 }} - {{ c }}<span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- <span class="hljs-comment"><!-- 输出 --></span>
- 1-Miami
- 2-Sao Paulo
- 3-New York
- </code></pre>
- <h3 id="ngnonbindable">ngNonBindable</h3>
- <blockquote>
- <p>当我们想告诉Angular不要编译或者绑定页面中的某个特殊部分时,要使用 ngNodBindable指令。</p>
- </blockquote>
- <pre><code class="lang-html"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"ngNonBindableDome"</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"borderd"</span>></span>{{content}}<span class="hljs-tag"></<span class="hljs-name">span</span>></span>
- <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"pre"</span> <span class="hljs-attr">ngNonBindable</span>></span>
- &larr;This is what {{ content }} rendered
- <span class="hljs-tag"></<span class="hljs-name">span</span>></span>
- <span class="hljs-tag"></<span class="hljs-name">div</span>></span>
- 输出
- 文章 ←This is what {{ content }} rendered
- </code></pre>
- </div>
-
- <hr>
- <div class="btn-group btn-group-justified">
-
- <a class="btn" href="0_depend.html"><b>上一页:</b> 项目依赖</a>
-
-
- <a class="btn" href="from/"><b>下一页:</b> 表单</a>
-
- </div>
-
- </div>
- <div class="search-results">
- <div class="has-results">
-
- <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
- <ul class="search-results-list"></ul>
-
- </div>
- <div class="no-results">
-
- <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <footer class="gb-page-footer">
- <div class="container">
- <ul class="menu">
- <li class="pull-right">
- <span class="service-info">Copyright GitBook 2018</span>
- </li>
- <li>
- <a href="#">Return to the top</a>
- </li>
- <li>
- <a href="#">Updated May 30th 18</a>
- </li>
- </ul>
- </div>
- </footer>
- </div>
- <script src="../../gitbook/gitbook.js"></script>
-
- <script src="../../gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
-
-
- <script src="../../gitbook/gitbook-plugin-search-pro/search.js"></script>
-
-
- <script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-
-
- <script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-
- <script>
- (function() {
- 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:40:51.550Z"},"basePath":"../..","book":{"language":""}});
- })();
- </script>
-
- </body>
- </html>
|