• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Angular6 用戶自定義標簽開發的實現方法

    來源:懂視網 責編:小采 時間:2020-11-27 22:02:23
    文檔

    Angular6 用戶自定義標簽開發的實現方法

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

    可以通過修改tsconfig.json中的構建目標至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 可以為自定義標簽增加自定義事件

    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); 
     // 向外發送自定義事件
     this.itemAdded.emit(item);
     }
    
     items:string[] =[];
    }
    
    

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

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

    完結與發布

    在package.json中增加發布腳本

    "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 執行構建,由于我們關閉了文件名hash,得到的輸出目錄內容如下:

    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文件中采用如下方式引用了定義標簽的輸出,如果其他用戶使用會非常不便,

    <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命令將這些文件按照上面順序合并成一個文件

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

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

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

    示例代碼

    在線示例

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Angular6 用戶自定義標簽開發的實現方法

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国模精品一区二区三区| 久久er国产精品免费观看8| 99热都是精品久久久久久| 无码国产乱人伦偷精品视频| 国产精品成人h片在线| 成人精品综合免费视频| 亚洲精品永久在线观看| 国产综合免费精品久久久| 精品福利资源在线| 精品一区二区三区东京热| 最新精品国偷自产在线| 久久国产精品免费一区二区三区| 欧美精品天天操| 国产精品久久久久国产A级| 亚洲精品国产精品乱码在线观看| 国产三级精品三级| 青青青国产精品国产精品久久久久| 久久精品毛片免费观看| 午夜不卡久久精品无码免费| 亚洲精品无码专区久久同性男| 久久99精品国产麻豆婷婷| 国产精品福利电影一区二区三区四区欧美白嫩精品| 99热亚洲色精品国产88| 精品永久久福利一区二区| 无码精品国产VA在线观看| 伊人久久无码精品中文字幕| 国产区精品高清在线观看| 国产精品部在线观看| mm1313亚洲国产精品无码试看| 久久精品成人国产午夜| 999精品在线| 国产精品免费网站| 国产精品久久久久久久| 久久91精品国产91久久小草| 国产精品成人观看视频国产| 99久久99久久精品免费看蜜桃| 精品无码久久久久久尤物| 久久精品黄AA片一区二区三区| 久久精品无码专区免费青青| 精品免费久久久久久久| 国产精品亚洲片在线观看不卡|