<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        Angular6 用戶自定義標(biāo)簽開發(fā)的實(shí)現(xiàn)方法

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:02:23
        文檔

        Angular6 用戶自定義標(biāo)簽開發(fā)的實(shí)現(xiàn)方法

        Angular6 用戶自定義標(biāo)簽開發(fā)的實(shí)現(xiàn)方法:2018年4月23隨著angular6 發(fā)布,我們可以看到在其官方手冊中的模板元素章節(jié)中增加了一個(gè)Element 條目(中文),通過說明我們可以知道這個(gè)功能可以幫助我們將angular以html標(biāo)簽的形式嵌入到非angular的頁面環(huán)境中。下面我們就通過一個(gè)簡單的例子演示Angula
        推薦度:
        導(dǎo)讀Angular6 用戶自定義標(biāo)簽開發(fā)的實(shí)現(xiàn)方法:2018年4月23隨著angular6 發(fā)布,我們可以看到在其官方手冊中的模板元素章節(jié)中增加了一個(gè)Element 條目(中文),通過說明我們可以知道這個(gè)功能可以幫助我們將angular以html標(biāo)簽的形式嵌入到非angular的頁面環(huán)境中。下面我們就通過一個(gè)簡單的例子演示Angula

        可以通過修改tsconfig.json中的構(gòu)建目標(biāo)至es6解決該問題

        {
         "compileOnSave": false,
         "compilerOptions": {
         "baseUrl": "./",
         "outDir": "./dist/out-tsc",
         "sourceMap": true,
         "declaration": false,
         "moduleResolution": "node",
         "emitDecoratorMetadata": true,
         "experimentalDecorators": true,
         "target": "es6",
         "typeRoots": [
         "node_modules/@types"
         ],
         "lib": [
         "es2017",
         "dom"
         ]
         }
        }
        
        

        增加外部事件

        通過output 可以為自定義標(biāo)簽增加自定義事件

        import { Component,Output, EventEmitter } from '@angular/core';
        
        @Component({
         selector: 'app-root',
         templateUrl: './app.component.html',
         styleUrls: ['./app.component.css']
        })
        export class AppComponent {
         
         @Output() itemAdded:EventEmitter<string> = new EventEmitter<string>();
         addItem(item:string){
         console.log(`${item} to be added!`);
         this.items.push(item); 
         // 向外發(fā)送自定義事件
         this.itemAdded.emit(item);
         }
        
         items:string[] =[];
        }
        
        

        在客戶端頁面可以通過自定義標(biāo)簽對象的addEventListener()方法增加自定義事件響應(yīng),通過 event.detail可以獲取到angular內(nèi)部發(fā)送的內(nèi)容

         <script>
         var items = document.querySelector('custom-items');
        
         items.addEventListener('itemAdded', (event) => {
         console.log(event);
         })
         </script>
        

        完結(jié)與發(fā)布

        在package.json中增加發(fā)布腳本

        "scripts": {
         "ng": "ng",
         "start": "ng serve",
         "build": "ng build --prod --output-hashing none",
         "test": "ng test",
         "lint": "ng lint",
         "e2e": "ng e2e"
         },
        

        通過npm run build 執(zhí)行構(gòu)建,由于我們關(guān)閉了文件名hash,得到的輸出目錄內(nèi)容如下:

        liunan@liunan-desktop:~/webDev/custom-tag$ ls ./dist/custom-tag/
        3rdpartylicenses.txt favicon.ico index.html main.js polyfills.js runtime.js scripts.js styles.css

        我們可以看到輸出的index.html文件中采用如下方式引用了定義標(biāo)簽的輸出,如果其他用戶使用會非常不便,

        <script type="text/javascript" src="runtime.js"></script>
        <script type="text/javascript" src="polyfills.js"></script>
        <script type="text/javascript" src="scripts.js"></script>
        <script type="text/javascript" src="main.js"></script>
        

        我們可以通過使用cat命令將這些文件按照上面順序合并成一個(gè)文件

        $cat runtime.js polyfills.js scripts.js main.js > custom-items.js

        這樣用戶就可以引用單個(gè)文件來使用我們制做的custom-items了。

        一定注記合并文件的次序,需要嚴(yán)格按照上述次序進(jìn)行,否則腳本可能不能正常工作。

        示例代碼

        在線示例

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Angular6 用戶自定義標(biāo)簽開發(fā)的實(shí)現(xiàn)方法

        Angular6 用戶自定義標(biāo)簽開發(fā)的實(shí)現(xiàn)方法:2018年4月23隨著angular6 發(fā)布,我們可以看到在其官方手冊中的模板元素章節(jié)中增加了一個(gè)Element 條目(中文),通過說明我們可以知道這個(gè)功能可以幫助我們將angular以html標(biāo)簽的形式嵌入到非angular的頁面環(huán)境中。下面我們就通過一個(gè)簡單的例子演示Angula
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 中文字幕亚洲精品资源网| 老司机午夜在线视频免费| 日本一道本不卡免费| 午夜理伦剧场免费| 亚洲黑人嫩小videos| 久久国产精品一区免费下载| 久久久无码精品亚洲日韩蜜桃| 99在线免费视频| 亚洲人成电影在线天堂| 精品一区二区三区免费毛片爱| 亚洲网址在线观看你懂的| 最近免费中文字幕大全免费版视频| 婷婷久久久亚洲欧洲日产国码AV| 色猫咪免费人成网站在线观看| 亚洲天堂男人天堂| 99视频全部免费精品全部四虎| 亚洲一本到无码av中文字幕| 国产精品公开免费视频| 国产免费伦精品一区二区三区| 国产亚洲成av片在线观看| 日韩人妻无码精品久久免费一| 亚洲国产精品yw在线观看| 午夜免费福利在线| 一级午夜a毛片免费视频| 久久99国产亚洲精品观看| 精品久久8x国产免费观看| 亚洲人成未满十八禁网站| 国产亚洲美女精品久久久2020| 日韩av无码久久精品免费| 456亚洲人成影院在线观| 亚洲av片一区二区三区| 人妻丰满熟妇无码区免费| 亚洲人成网站18禁止| 亚洲自偷自偷图片| 99精品国产免费久久久久久下载| 美女视频黄频a免费观看| 亚洲视频在线观看一区| 日本人的色道www免费一区| 国产在线观看免费视频软件 | 国产亚洲老熟女视频| 精品无码国产污污污免费网站 |