Ionic 2基礎(chǔ)小結(jié)

架構(gòu)總覽

Ionic 2是基于Angular 2的,在它基礎(chǔ)上封裝了許多mobile常用組件。如果說Angular是一塊塊不同布料的話,Ionic 就是一件件不同的衣服,T恤、牛仔、帽子、小內(nèi)內(nèi),不同的組件搭配成一套,就是一個完整的APP。一旦涉及到調(diào)用mobile底層傳感器,cordova就派上用場了,它是鏈接原生代碼和前端代碼的橋梁。如啟動錄音,調(diào)用GPS等等。


總體架構(gòu)圖

模塊

Ionic 2各個模塊之間是相對獨立的,各自管理自己模塊的數(shù)據(jù)、邏輯、頁面、樣式。一個完整模塊由以下幾個文件組成:

html頁面

scss頁面樣式

ts頁面邏輯

//頁面標(biāo)記,用于頁面懶加載
@IonicPage() 
//組件配置
@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
  providers: [BOCHttpProvider, UtilProvider]
})
//獲取頁面元素
@ViewChild('input') inputElm
//監(jiān)聽事件
@HostListener('keydown', ['$event'])
  keyEvent(e) {}

module.ts模塊管理

快速添加test模塊命令:ionic g page test

Provider

添加@Injectable()注解

  • 作為公共的方法類
  • 作為網(wǎng)絡(luò)數(shù)據(jù)源
  • 不同模塊之間邏輯協(xié)作的事務(wù)類
    快速添加命令:ionic g provider testProvider

Cordova插件

使用

  1. ionic自帶Native插件的使用
#添加組件
cordova plugin add splash-screen
#刪除組件
cordova plugin rm splash-screen
// 使用
import { SplashScreen } from '@ionic-native/splash-screen';

2.第三方組件的使用

#本地組件
cordova plugin add path/to/plugin
#github組件
cordova plugin add url.git

插件根目錄下plugin.xml定義的基本配置。js-module標(biāo)簽對應(yīng)的name會在全局注入變量,這里是MyPlugin。

<platform name = "android">
        <js-module name="MyPlugin" src="www/cordova-plugin-MyPlugin.js">
            <clobbers target="MyPlugin" />
        </js-module>
</platform>

在ts文件定義一個變量,就可以使用了。

declare var MyPlugin: any;

如果需要在應(yīng)用啟動時調(diào)用,記得判斷它的ready狀態(tài)。只用ready的時候,插件才能正常使用。

platform.ready().then(() => MyPlugin.doSomethingWithPlugin(success, error, "MyClass", "MyFunction", ["param"]));

插件的方法可以在www目錄下的js文件中找到。

//插件www目錄下定義的與原始代碼通信的API
//使用
var exec = require('cordova/exec');

module.exports = {
    // success 成功回調(diào),error失敗回調(diào), service類名, action方法名, params傳入數(shù)組參數(shù)
    doSomethingWithPlugin: function(success, error, service, action, params){
        // do something when resulting from native code
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容