SlideShare a Scribd company logo
深入研究 Angular
2015.05.26 @Hiiir
潘文婷<Phoebe_pan@hiiir.com>
時間軸科技股份有限公司
今天會講什麼?
• AngulsarJS 是什麼?
• 學習 AngularJS 的一些背景條件
• AngulsarJS 設計概念
• AngulsarJS 版本差異
• AngularJS 四大核心特性
• 實作開發快速入門 AngulsarJS
• 實作 CRUD 基本網頁應用
• 結論
AngularJS 是什麼?
• Google 傾力打造的前端 javaScript 框架
• 透過 宣告式語法 (Directives Syntax) 擴展了 HTML,它不僅僅是一個
javaScript 框架,核心其實是對 HTML 標籤的增強
• AngularJS 對單頁面應用的支持非常好(SPA)
• 不適合 - 只有單純頁面互動特效
• 適合 - CRUD 類型的網站專案 / 後台 例如: mail, 行事曆
• 讓應用類型網頁的開發/測試變的容易
學習 AngularJS 的一些背景條件
• 必須要了解
– HTML、CSS、Javascript
• 最好能懂
– 自動化測試
– 行為驅動開發
– 測試驅動開發
• 不是那麼重要的
– jQuery
– Python
– PHP
– Database
AngularJS 設計概念
AngularJS 設計者的初衷是想看看是否有可能讓 Web 設計師(非開發者)只
使用 HTML 標籤來創建簡單的應用程序。隨著時間的推移,AngularJS 演變
成了一個全面的開發框架!
• 使用雙大括號{{}}語法進行數據綁定;
• 使用 DOM 控制結構來實現迭代或者隱藏 DOM 片段;
• 支持表單和表單的驗證;
• 能將邏輯代碼關聯到相關的 DOM 元素上;
• 能將 HTML 分組成可重用的組件。
AngulsarJS 版本差異
• 1.2 版本前 Demo#1.2
• 1.3 版(穩定版) Demo#1.3
– 不支援 IE8
– (ng-controller 用法改變!) 。先建立模組,之後在模組內才包含函式名稱。
• 2.0 (preview)
– 語法不一樣,基本上可以當成不同的 Framework
– 效能大大改善,Mobile 上效能期望可以跟原生 APP 媲美
– 引進 ES6 語法
– Components 元件概念 vs (React.js)
– 完全改用 TypeScript 開發
AngularJS 四大核心特性
• MVW
• 模組化 (Module)
• Directive - 宣告式語法
• 雙向數據綁定
四大核心特性 - MVW
• Model
• View
• Whatever works for you (隨便拉...)
深入研究 Angular  - phoebe pan
深入研究 Angular  - phoebe pan
深入研究 Angular  - phoebe pan
四大核心特性 –模組化 (Module)
• 模組用來描述應用如何啟動,一個應用可以包含多個模組,每個模組包含了
定義具體功能的代碼
• 基本語法:angular.module (模組名,依賴列表)
• 其中,依賴列表是可以被注入到模塊中的對象列表
四大核心特性 – Directive 宣告式語法
自定<hello>標籤
四大核心特性 - 雙向數據綁定
• 目前大多數都是單向數據綁定: jQueryUI, BackBone, Flex
• 視圖和數據模型是對應的。
• 視圖和數據雙向數據綁定實例
深入研究 Angular  - phoebe pan
深入研究 Angular  - phoebe pan
實作開發快速入門 AngularJS
• AngularJS 的指令 (Directive)
• AngularJS 控制器 (controller)
• AngularJS {{表達式}}
• AngularJS 過濾器 | Filter
• AngularJS model($scope)
• AngularJS 表單 (form)
• Angular.js 如何跟 API 溝通
• Angular.js 如何跟 API 溝通 ($resource)
AngularJS 的指令 (Directive)
• 像 HTML tag
• 定義作用或作用域
• 常用指令
– ng-app:定義一個 AngularJS 應用,被其包含的內容都屬於該應用。
– ng-init:初始化應用數據。
– ng-model:將數據綁定到當前應用。
– ng-bind: 將應用中定義的變量在該標籤中顯示
自定義指令
• Demo#自定義指令
• 在 HTML 上附加一些自定標記,然後 AngularJS 的 HTML 編譯器
($compile) 就會在對應元素上附加某些指定的行為.
常用事件處理
• ng-blur
• ng-focus
• ng-copy
• ng-paste
• ng-cut
• ng-change
• ng-checked
• Ng-click
• ng-dbclick
• ng-keydown
• ng-keypress
• ng-keyup
• ng-mousedown
• ng-mouseenter
• ng-mouseleave
• ng-mousemove
• ng-mouseover
• ng-mouseup
外觀與樣式
• ng-show
• ng-hide
• ng-style
• ng-class
• ng-class-even
• ng-class-odd
HTML 增強/表單
• a
– ng-href
• select
– ng-option
– ng-selected
– ng-multiple
• ng-open
(details/summary)
• img
– ng-src
– ng-srcset
• form
– ng-form (允許巢狀表單)
– ng-submit
• input
– ng-disabled
– ng-readonly
• input[email]
• input[number]
• input[text]
• input[url]
• input[checkbox] , input[radio]
– ng-checked
– ng-value
範本引擎
• ng-include src
• ng-script
• ng-if
• ng-switch
• ng-pluralize
• ng-transclude
• ng-csp
其它
AngularJS 的指令都是以 ng 開頭,AngularJS 的表達式用兩個大括
號表示: {{expression}} 這就是 AngularJS 最基本的數據綁定。
AngularJS 控制器 (controller)
• AngularJS 控制器用來控制 AngularJS applications 的數據。
• ng-controller 用來聲明一個需要和數據進行綁定的模板區域,它的作用域
就是這個 div 之內的東西,在 js 代碼中定義了函數與它對應,在這個函數
內完成數據綁定。
• Demo#控制器
AngularJS {{表達式}}
• AngularJS 表達式寫在雙大括號中:{{表達式語句}}。
• AngularJS 表達式綁定數據到 HTML 的方式與 ng-bind 指令的方式相同。
• AngularJS 會準確地將表達式“輸出”為計算的結果。
• AngularJS 表達式與 JavaScript 表達式有許多相似之處,它們都包含文
字、運算符和變量。
例如: {{ 1 + 2 }}和{{ firstName + " " + lastName }}
• Demo#表達式
提示:如果你去掉 ng-app 指令,表達式會被直接顯示在頁面上而不
會被計算。
AngularJS 過濾器 | Filter
• 負責格式化表達式(Expression)的值,以便呈現給用戶。
• 格式: {{表達式|過濾器:參數1:參數2:... }}
• Demo#Filter
AngularJS model($scope)
• View 跟 Controller 利用 Scope 做溝通
• $scope 是一個 Data Model
• 一個 App 裡有很多的 scope, Scope 之間的關係就像
AngularJS 表單 (form)
• 可以簡單的加上驗證
– Required
– ng-minlength
– ng-maxlength
• Demo#表單驗證
AngularJS 如何跟 API 溝通 ($http)
• $http.get
• $http.head
• $http.post
• $http.put
• $http.delete
• $http.jsonp
• $http.patch
AngularJS 如何跟 API 溝通 ($resource)
• 需載入 resource.js
• ( $resource ) 專為 RESTful Service 做溝通
實作 CRUD 基本網頁應用
• bootstrap + angularJS
• Demo
結論
• AngularJS 優點
– 提供了更方便創建簡潔可維護單頁面應用的方式
– 數據綁定提供了使用者更豐富和響應式的體驗
– 支持單元測試
– 支持依賴注入
– 可重用的組件
– 更少代碼更豐富功能
結論
• AngularJS 缺點
– SEO & debug
– 安全性:作為純 JS 的框架,AngularJS 並不安全。服務器端的驗證和
授權必須使用保證應用安全
– 如果用戶禁用了 JS,則只能看到基礎頁面,功能都無用。
• 學習曲線較 jQuery 長
• jQuery 專案翻成 AngularJS 後,專案比較好維護
• AngularJS 在大型系統要小心效能問題
• 相依性注入 (Dependency Injection) 能方便切換模組
補充資料
• 目前有使用 AngularJS 網頁應用
– Dcard
Reference
• AngularJS 官網
• codeschool
• AngularJS 快速入門
• AngularJS 入門簡介
• 前端工程的極致精品: AngularJS 開發框架介紹
• 關於 AngularJS 控制器 (ngController) 的多種宣告方法
• 關於 AngularJS 表達式與 ngBind 指令 (directive) 的使用技巧
• 深入理解AngularJS 的Scope
• AngularJS 最佳實踐
• AngularJS 教學 - $resource service
深入研究 Angular  - phoebe pan

More Related Content

PPTX
Angular 2 表單的處理與驗證
Jeff Wu
 
PPTX
Angular 2 Taiwan 小聚 Forms 介紹
Jeff Wu
 
PPTX
Angular.js & ASP.NET in Study4
Kyle Shen
 
PPTX
AUGT 社群小聚 - Angular Optimize Performance NgZone 的原理與應用
Jeff Wu
 
PPTX
Study4 love.2016.2.20.ionic
Kyle Shen
 
PDF
AngularJS training in Luster
Jason Chung
 
PDF
關於 Javascript 非同步的那些事兒 公開版
Kirk Chen
 
PPTX
從前端設計的角度來看 Angular - TW2018 amos
Amos Lee
 
Angular 2 表單的處理與驗證
Jeff Wu
 
Angular 2 Taiwan 小聚 Forms 介紹
Jeff Wu
 
Angular.js & ASP.NET in Study4
Kyle Shen
 
AUGT 社群小聚 - Angular Optimize Performance NgZone 的原理與應用
Jeff Wu
 
Study4 love.2016.2.20.ionic
Kyle Shen
 
AngularJS training in Luster
Jason Chung
 
關於 Javascript 非同步的那些事兒 公開版
Kirk Chen
 
從前端設計的角度來看 Angular - TW2018 amos
Amos Lee
 

What's hot (19)

PDF
Better use angular
Yanru Li
 
PDF
Angular js twmvc#17
twMVC
 
PPTX
Angularjs
宗哲 謝
 
PDF
Angular 從入門到實戰(三)
志龍 陳
 
PPTX
Open source的devops工具箱 公開版@coscup2016
Kirk Chen
 
PDF
Blazor Component 開發實戰
Gelis Wu
 
PDF
Angular從入門到實戰(二)
志龍 陳
 
PPTX
Web programming Final Project
Penut Chen
 
PDF
CSS Cascading & Inheritance
Ryan Chung
 
PPT
Share module
dpf2e
 
PDF
Angular從入門到實戰(一)
志龍 陳
 
PDF
Schematics 實戰
志龍 陳
 
PDF
Angular 從入門到實戰(四)
志龍 陳
 
PDF
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
Kuro Hsu
 
PPTX
Angular 5 全新功能探索 @ JSDC2017
Will Huang
 
PPTX
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
Bruce Chen
 
PDF
高雄前端社群 #3 SASS workshop
洧杰 廖
 
PDF
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
Yvonne Yu
 
PDF
20130823微軟雲端平台開發者日
twMVC
 
Better use angular
Yanru Li
 
Angular js twmvc#17
twMVC
 
Angularjs
宗哲 謝
 
Angular 從入門到實戰(三)
志龍 陳
 
Open source的devops工具箱 公開版@coscup2016
Kirk Chen
 
Blazor Component 開發實戰
Gelis Wu
 
Angular從入門到實戰(二)
志龍 陳
 
Web programming Final Project
Penut Chen
 
CSS Cascading & Inheritance
Ryan Chung
 
Share module
dpf2e
 
Angular從入門到實戰(一)
志龍 陳
 
Schematics 實戰
志龍 陳
 
Angular 從入門到實戰(四)
志龍 陳
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
Kuro Hsu
 
Angular 5 全新功能探索 @ JSDC2017
Will Huang
 
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
Bruce Chen
 
高雄前端社群 #3 SASS workshop
洧杰 廖
 
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
Yvonne Yu
 
20130823微軟雲端平台開發者日
twMVC
 
Ad

Viewers also liked (13)

PDF
XIV Jornada de Qualitat a l'Ensenyament -Helena Guardans-
Projecte de Qualitat
 
PDF
Hat giong tam hon 7
Đặng Vui
 
PPSX
SOFTWARE LIBRE
Claudio Zacarias
 
PDF
Trieu phu tre hq
khosachdientu2015
 
PDF
Regate Cloud Computing Forum 2011
regate
 
PPTX
RHT Enterprise Technology Services Overview
Jay Gelvin
 
PPTX
Сафронов Ю.А., ГК Медси. Система автоматического обзвона пациентов
Natalia Startseva
 
PDF
Technical data SCHMIDT & BENDER Klein Riflescopes Reticles Subtensions | Opti...
Optics-Trade
 
PPTX
Axis Softech - Technology transform travel industry
Axis Softech Pvt. Ltd.
 
PDF
Uoc mo cua ban nhat dinh thanh hien thuc
khosachdientu2015
 
PDF
Angular js 入門介紹
wantingj
 
XIV Jornada de Qualitat a l'Ensenyament -Helena Guardans-
Projecte de Qualitat
 
Hat giong tam hon 7
Đặng Vui
 
SOFTWARE LIBRE
Claudio Zacarias
 
Trieu phu tre hq
khosachdientu2015
 
Regate Cloud Computing Forum 2011
regate
 
RHT Enterprise Technology Services Overview
Jay Gelvin
 
Сафронов Ю.А., ГК Медси. Система автоматического обзвона пациентов
Natalia Startseva
 
Technical data SCHMIDT & BENDER Klein Riflescopes Reticles Subtensions | Opti...
Optics-Trade
 
Axis Softech - Technology transform travel industry
Axis Softech Pvt. Ltd.
 
Uoc mo cua ban nhat dinh thanh hien thuc
khosachdientu2015
 
Angular js 入門介紹
wantingj
 
Ad

Similar to 深入研究 Angular - phoebe pan (6)

PDF
twMVC#09 | AngularJS 開發 ASP.NET MVC
twMVC
 
PDF
AngularJS 開發 ASP.NET MVC -twMVC#9
twMVC
 
PPTX
Angular 基礎教育訓練
得霖 廖
 
PDF
JS and NG - ntut iLab 2015/07/14
BO Hong LI
 
PPTX
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
 
PPTX
Angular 4 網站開發最佳實務 (Modern Web 2017)
Will Huang
 
twMVC#09 | AngularJS 開發 ASP.NET MVC
twMVC
 
AngularJS 開發 ASP.NET MVC -twMVC#9
twMVC
 
Angular 基礎教育訓練
得霖 廖
 
JS and NG - ntut iLab 2015/07/14
BO Hong LI
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
 
Angular 4 網站開發最佳實務 (Modern Web 2017)
Will Huang
 

深入研究 Angular - phoebe pan

  • 2. 今天會講什麼? • AngulsarJS 是什麼? • 學習 AngularJS 的一些背景條件 • AngulsarJS 設計概念 • AngulsarJS 版本差異 • AngularJS 四大核心特性 • 實作開發快速入門 AngulsarJS • 實作 CRUD 基本網頁應用 • 結論
  • 3. AngularJS 是什麼? • Google 傾力打造的前端 javaScript 框架 • 透過 宣告式語法 (Directives Syntax) 擴展了 HTML,它不僅僅是一個 javaScript 框架,核心其實是對 HTML 標籤的增強 • AngularJS 對單頁面應用的支持非常好(SPA) • 不適合 - 只有單純頁面互動特效 • 適合 - CRUD 類型的網站專案 / 後台 例如: mail, 行事曆 • 讓應用類型網頁的開發/測試變的容易
  • 4. 學習 AngularJS 的一些背景條件 • 必須要了解 – HTML、CSS、Javascript • 最好能懂 – 自動化測試 – 行為驅動開發 – 測試驅動開發 • 不是那麼重要的 – jQuery – Python – PHP – Database
  • 5. AngularJS 設計概念 AngularJS 設計者的初衷是想看看是否有可能讓 Web 設計師(非開發者)只 使用 HTML 標籤來創建簡單的應用程序。隨著時間的推移,AngularJS 演變 成了一個全面的開發框架! • 使用雙大括號{{}}語法進行數據綁定; • 使用 DOM 控制結構來實現迭代或者隱藏 DOM 片段; • 支持表單和表單的驗證; • 能將邏輯代碼關聯到相關的 DOM 元素上; • 能將 HTML 分組成可重用的組件。
  • 6. AngulsarJS 版本差異 • 1.2 版本前 Demo#1.2 • 1.3 版(穩定版) Demo#1.3 – 不支援 IE8 – (ng-controller 用法改變!) 。先建立模組,之後在模組內才包含函式名稱。 • 2.0 (preview) – 語法不一樣,基本上可以當成不同的 Framework – 效能大大改善,Mobile 上效能期望可以跟原生 APP 媲美 – 引進 ES6 語法 – Components 元件概念 vs (React.js) – 完全改用 TypeScript 開發
  • 7. AngularJS 四大核心特性 • MVW • 模組化 (Module) • Directive - 宣告式語法 • 雙向數據綁定
  • 8. 四大核心特性 - MVW • Model • View • Whatever works for you (隨便拉...)
  • 12. 四大核心特性 –模組化 (Module) • 模組用來描述應用如何啟動,一個應用可以包含多個模組,每個模組包含了 定義具體功能的代碼 • 基本語法:angular.module (模組名,依賴列表) • 其中,依賴列表是可以被注入到模塊中的對象列表
  • 13. 四大核心特性 – Directive 宣告式語法 自定<hello>標籤
  • 14. 四大核心特性 - 雙向數據綁定 • 目前大多數都是單向數據綁定: jQueryUI, BackBone, Flex • 視圖和數據模型是對應的。 • 視圖和數據雙向數據綁定實例
  • 17. 實作開發快速入門 AngularJS • AngularJS 的指令 (Directive) • AngularJS 控制器 (controller) • AngularJS {{表達式}} • AngularJS 過濾器 | Filter • AngularJS model($scope) • AngularJS 表單 (form) • Angular.js 如何跟 API 溝通 • Angular.js 如何跟 API 溝通 ($resource)
  • 18. AngularJS 的指令 (Directive) • 像 HTML tag • 定義作用或作用域 • 常用指令 – ng-app:定義一個 AngularJS 應用,被其包含的內容都屬於該應用。 – ng-init:初始化應用數據。 – ng-model:將數據綁定到當前應用。 – ng-bind: 將應用中定義的變量在該標籤中顯示
  • 19. 自定義指令 • Demo#自定義指令 • 在 HTML 上附加一些自定標記,然後 AngularJS 的 HTML 編譯器 ($compile) 就會在對應元素上附加某些指定的行為.
  • 20. 常用事件處理 • ng-blur • ng-focus • ng-copy • ng-paste • ng-cut • ng-change • ng-checked • Ng-click • ng-dbclick • ng-keydown • ng-keypress • ng-keyup • ng-mousedown • ng-mouseenter • ng-mouseleave • ng-mousemove • ng-mouseover • ng-mouseup
  • 21. 外觀與樣式 • ng-show • ng-hide • ng-style • ng-class • ng-class-even • ng-class-odd
  • 22. HTML 增強/表單 • a – ng-href • select – ng-option – ng-selected – ng-multiple • ng-open (details/summary) • img – ng-src – ng-srcset • form – ng-form (允許巢狀表單) – ng-submit • input – ng-disabled – ng-readonly • input[email] • input[number] • input[text] • input[url] • input[checkbox] , input[radio] – ng-checked – ng-value
  • 23. 範本引擎 • ng-include src • ng-script • ng-if • ng-switch • ng-pluralize • ng-transclude • ng-csp 其它 AngularJS 的指令都是以 ng 開頭,AngularJS 的表達式用兩個大括 號表示: {{expression}} 這就是 AngularJS 最基本的數據綁定。
  • 24. AngularJS 控制器 (controller) • AngularJS 控制器用來控制 AngularJS applications 的數據。 • ng-controller 用來聲明一個需要和數據進行綁定的模板區域,它的作用域 就是這個 div 之內的東西,在 js 代碼中定義了函數與它對應,在這個函數 內完成數據綁定。 • Demo#控制器
  • 25. AngularJS {{表達式}} • AngularJS 表達式寫在雙大括號中:{{表達式語句}}。 • AngularJS 表達式綁定數據到 HTML 的方式與 ng-bind 指令的方式相同。 • AngularJS 會準確地將表達式“輸出”為計算的結果。 • AngularJS 表達式與 JavaScript 表達式有許多相似之處,它們都包含文 字、運算符和變量。 例如: {{ 1 + 2 }}和{{ firstName + " " + lastName }} • Demo#表達式 提示:如果你去掉 ng-app 指令,表達式會被直接顯示在頁面上而不 會被計算。
  • 26. AngularJS 過濾器 | Filter • 負責格式化表達式(Expression)的值,以便呈現給用戶。 • 格式: {{表達式|過濾器:參數1:參數2:... }} • Demo#Filter
  • 27. AngularJS model($scope) • View 跟 Controller 利用 Scope 做溝通 • $scope 是一個 Data Model • 一個 App 裡有很多的 scope, Scope 之間的關係就像
  • 28. AngularJS 表單 (form) • 可以簡單的加上驗證 – Required – ng-minlength – ng-maxlength • Demo#表單驗證
  • 29. AngularJS 如何跟 API 溝通 ($http) • $http.get • $http.head • $http.post • $http.put • $http.delete • $http.jsonp • $http.patch
  • 30. AngularJS 如何跟 API 溝通 ($resource) • 需載入 resource.js • ( $resource ) 專為 RESTful Service 做溝通
  • 31. 實作 CRUD 基本網頁應用 • bootstrap + angularJS • Demo
  • 32. 結論 • AngularJS 優點 – 提供了更方便創建簡潔可維護單頁面應用的方式 – 數據綁定提供了使用者更豐富和響應式的體驗 – 支持單元測試 – 支持依賴注入 – 可重用的組件 – 更少代碼更豐富功能
  • 33. 結論 • AngularJS 缺點 – SEO & debug – 安全性:作為純 JS 的框架,AngularJS 並不安全。服務器端的驗證和 授權必須使用保證應用安全 – 如果用戶禁用了 JS,則只能看到基礎頁面,功能都無用。 • 學習曲線較 jQuery 長 • jQuery 專案翻成 AngularJS 後,專案比較好維護 • AngularJS 在大型系統要小心效能問題 • 相依性注入 (Dependency Injection) 能方便切換模組
  • 34. 補充資料 • 目前有使用 AngularJS 網頁應用 – Dcard
  • 35. Reference • AngularJS 官網 • codeschool • AngularJS 快速入門 • AngularJS 入門簡介 • 前端工程的極致精品: AngularJS 開發框架介紹 • 關於 AngularJS 控制器 (ngController) 的多種宣告方法 • 關於 AngularJS 表達式與 ngBind 指令 (directive) 的使用技巧 • 深入理解AngularJS 的Scope • AngularJS 最佳實踐 • AngularJS 教學 - $resource service

Editor's Notes

  • #4: 何為HTML標籤增強?其實就是使你能夠用標籤完成一部分頁面邏輯,具體方式就是通過自定義標籤、自定義屬性等,這些HTML原生沒有的標籤/屬性在ng中有一個名字:指令(directive)。後面會詳細介紹。
  • #14: The restrict option: 'A' - only matches attribute name 'E' - only matches element name 'C' - only matches class name
  • #21: 常用事件指令 ng-click http://jsbin.com/valulu/1/edit?html,js,output ng-show ng-hide ng-blur ng-change ng-focus ng-keydown ng-keypress ng-keyup ng-mousedown ng-mouseover
  • #22: 常用事件指令 ng-click http://jsbin.com/valulu/1/edit?html,js,output ng-show ng-hide ng-blur ng-change ng-focus ng-keydown ng-keypress ng-keyup ng-mousedown ng-mouseover
  • #23: 常用事件指令 ng-click http://jsbin.com/valulu/1/edit?html,js,output ng-show ng-hide ng-blur ng-change ng-focus ng-keydown ng-keypress ng-keyup ng-mousedown ng-mouseover
  • #24: 常用事件指令 ng-click http://jsbin.com/valulu/1/edit?html,js,output ng-show ng-hide ng-blur ng-change ng-focus ng-keydown ng-keypress ng-keyup ng-mousedown ng-mouseover