Angularjs 面向?qū)ο笤O(shè)計(jì)組件

Angularjs組件式開發(fā),現(xiàn)在我們基于https://github.com/AngularClass/NG6-starter 這個(gè)項(xiàng)目來講解。
在這個(gè)教程,將會(huì)使用weui樣式,來制作一個(gè)簡(jiǎn)單的對(duì)話框組件

6ADD39CD-C116-4C27-8761-C41DCE674B44.png

1.安裝weui膛腐,并且在app.js 中引入weui

npm install weui

引入weui

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Common from './common/common';
import Components from './components/components';
import AppComponent from './app.component';
import 'normalize.css';
const  weui=require('weui');

angular.module('app', [
    uiRouter,
    Common,
    Components
  ])
  .config(($locationProvider) => {
    "ngInject";
    // @see: https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions
    // #how-to-configure-your-server-to-work-with-html5mode
    $locationProvider.html5Mode(true).hashPrefix('!');
  })
  .component('app', AppComponent,weui);

2.先在控制臺(tái)中創(chuàng)建組件

npm run component -- --name dialog 

可以看到組件應(yīng)該有的文件都自動(dòng)創(chuàng)建出來了


圖1.png

3.制作組件。我們將以面向?qū)ο蠓绞絹碓O(shè)計(jì)我們的組件鼎俘,組件里面各種屬性哲身,父組件只通過改變一個(gè)類的屬性就可以改變我們?cè)O(shè)計(jì)的組件的變量。那么我們?cè)赿ialog文件夾中添加dialogApi.js文件

export default class dialogApi{


  constructor() {
    "use strict";
    //對(duì)話框是否顯示
    this.dialogState=false;

    //對(duì)話框主題內(nèi)容
    this.content="";
    //按鈕文字
    this.buttonText="知道了";



  }

  getDialogState(){
    "use strict";
    return this.dialogState;
  }

  /**
   * 顯示對(duì)話框
   */
  showDialog(){
    "use strict";
    this.dialogState=true;
  }

  /**
   * 關(guān)閉對(duì)話框
   */
  closeDialog(){
    "use strict";
    this.dialogState=false;
  }


  /**
   * 按鈕取消事件
   */
  onCancel(){
    this.closeDialog();
    "use strict";

  }

}

在dialog.html 中粘貼這段代碼,在代碼里面而芥,我們已經(jīng)把各種變成類的屬性律罢。

<div class="js_dialog" ng-show="$ctrl.dialog.getDialogState()" >
  <div class="weui-mask"></div>
  <div class="weui-dialog">
    <div class="weui-dialog__bd">{{$ctrl.dialog.content}}</div>
    <div class="weui-dialog__ft">
      <a ng-click="$ctrl.dialog.onCancel()" class="weui-dialog__btn weui-dialog__btn_primary">{{$ctrl.dialog.buttonText}}</a>
    </div>
  </div>
</div>

接著在 dialog.component.js 中 ,寫好從父組件傳入的對(duì)象名稱

import template from './dialog.html';
import controller from './dialog.controller';
import './dialog.scss';

let dialogComponent = {
  bindings: {
    dialogApi:"<"
  },
  template,
  controller
};

export default dialogComponent;

最后在components.js 中,將我們寫好的組件加入進(jìn)去

import angular from 'angular';
import Home from './home/home';
import About from './about/about';
import Dialog from './dialog/dialog'
let componentModule = angular.module('app.components', [
  Home,
  About,
  Dialog
])
.name;
export default componentModule;

到這里棍丐,組件已經(jīng)設(shè)計(jì)完畢。我們可以到其他組件中去使用它了沧踏,
我們?cè)赼bout組件中來使用它, 引入 dialog標(biāo)簽 歌逢,在標(biāo)簽寫入 屬性dialog-api,這里遇到大寫字母要變小寫翘狱,并且加-秘案。之后,用按鈕來顯示它

<navbar></navbar>
<h1>{{ $ctrl.name }}</h1>
<section>
  About us.
</section>

<span ng-click="$ctrl.show()">出來吧對(duì)話框</span>
<dialog  dialog-api="$ctrl.dialogApi"></dialog>

在about.controller.js ,要引入dialogApi.js阱高,并且new 一個(gè)新對(duì)象赚导。用這個(gè)對(duì)象,我們就可以實(shí)現(xiàn)對(duì)對(duì)話框的屬性控制

import DialogApi from '../dialog/dialogApi.js'
class AboutController {
  constructor() {
    this.name = 'about';
    this.dialogApi=new DialogApi();
    this.dialogApi.content="你好";
    this.show=function(){
      "use strict";
      this.dialogApi.showDialog();
    }
  }
}

export default AboutController;

最后運(yùn)行項(xiàng)目

npm start

在瀏覽器輸入 http://localhost:3000 就可以看到我們項(xiàng)目了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赤惊,一起剝皮案震驚了整個(gè)濱河市吼旧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌未舟,老刑警劉巖圈暗,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異裕膀,居然都是意外死亡员串,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門昼扛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寸齐,“玉大人,你說我怎么就攤上這事抄谐》梅蓿” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵斯稳,是天一觀的道長(zhǎng)海铆。 經(jīng)常有香客問我,道長(zhǎng)挣惰,這世上最難降的妖魔是什么卧斟? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮憎茂,結(jié)果婚禮上珍语,老公的妹妹穿的比我還像新娘。我一直安慰自己竖幔,他們只是感情好板乙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拳氢,像睡著了一般募逞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馋评,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天放接,我揣著相機(jī)與錄音,去河邊找鬼留特。 笑死纠脾,一個(gè)胖子當(dāng)著我的面吹牛玛瘸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苟蹈,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼糊渊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了慧脱?” 一聲冷哼從身側(cè)響起渺绒,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎磷瘤,沒想到半個(gè)月后芒篷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡采缚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年针炉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扳抽。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡篡帕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贸呢,到底是詐尸還是另有隱情镰烧,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布楞陷,位于F島的核電站怔鳖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏固蛾。R本人自食惡果不足惜结执,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艾凯。 院中可真熱鬧献幔,春花似錦、人聲如沸趾诗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恃泪。三九已至郑兴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悟泵,已是汗流浹背杈笔。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留糕非,地道東北人蒙具。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像朽肥,于是被迫代替她去往敵國(guó)和親禁筏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,293評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理衡招,服務(wù)發(fā)現(xiàn)篱昔,斷路器,智...
    卡卡羅2017閱讀 134,702評(píng)論 18 139
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 11,005評(píng)論 6 13
  • 文/小秋姑娘 公眾號(hào)/有生之年好好愛 最近剛聽說一個(gè)男性朋友,長(zhǎng)跑5年的女友說要分手浪箭,大概的理由莫過于俗套到極點(diǎn)...
    有生之年好好愛閱讀 2,151評(píng)論 0 0
  • 他喝下一口酒 他說 他想回到故鄉(xiāng) 他聽見 橋下悲傷的哭泣 像晴空下洶涌的浪 他看見 穿著格子花紋的姑娘 頭上戴著他...
    鄒靖閱讀 232評(píng)論 0 0