日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模型和控制器-起步阶段

發布時間:2023/12/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模型和控制器-起步阶段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MVVM簡介

針對客戶端應用開發AngularJS吸收了傳統的MVC基本原則。MVC(Model-View-Controll)設計模式針對不同的人可能意味不同的東西 ,AngularJS并不執行傳統意義上的MVC,更接近于MVVM。

MVVM模式是Model-View-ViewMode模式的簡稱。由視圖(View)、視圖模型(ViewModel)、模型(Model)三部分組成,通過這三部分實現UI邏輯、呈現邏輯和狀態控制、數據與業務邏輯的分離。

Model將和ViewModel互動(通過$scope對象),將監聽Model的變化。這些可以通過View來發送和渲染,由HTML來展示你的 代碼。View可以通過$routeProvider對象來支配,所以你可以深度的鏈接和組織你的View和Controller,將他們變成導航 URL。AngualrJS同時提供了無狀態的Controller,可以用來初始化和控制$scope對象。

Model與MVC模式一樣,Model用于封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。它具有對數據直接訪問的權利,例如對數據庫的訪問,Model不依賴于View和ViewModel,也就是說,模型不關心會被如何顯示或是如何被操作,模型也不能包含任何用戶使用的與界面相關的邏輯。

ViewModel是一個用來提供特別數據和方法從而維護指定view的對象,。ViewModel是$scope的對象,只存在于AnguarJS的應用中。$scope只是一個簡單的js對象,這個對象使用簡單的API來偵測和廣播狀態變化。

Controller負責設置初始狀態和參數化$scope方法用以控制行為。需要指出的controller并不保存狀態也不和遠程服務互動。

View是AngularJS解析后渲染和綁定后生成的HTML。這個部分幫助你創建web應用的架構。$scope擁有一個針對數據的參考,controller定義行為,view處理布局和互動。

使用MVVM模式有幾大好處:

?

1. 低耦合:View可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的View上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。

2. 可重用性:可以把一些視圖的邏輯放在ViewModel里面,讓很多View重用這段視圖邏輯。

3. 獨立開發:開發人員可以專注與業務邏輯和數據的開發(ViewModel)。設計人員可以專注于界面(View)的設計。

4. 可測試性:可以針對ViewModel來對界面(View)進行測試。

?

控制器

AngularJS控制器控制AngularJS應用程序的數據,是常規的JavaScript對象。

ng-controller指令就是用來定義應用程序控制器的,并且同時創建了一個新的作用域關聯到相應的DOM元素上。

所謂作用域就是一個指向應用模型的對象,它是表達式的執行環境,作用域有層次結構,這個層次和相應的DOM幾乎是一樣的,作用域能監控表達式和傳遞事件并且可以從父作用域繼承屬性。

每一個AngularJS應用都有一個絕對的根作用域。但也可能有多個子作用域。 一個應用可以有多個作用域,因為有一些指令會生成新的子作用域,當新作用域被創建的時候,他們會被當成子作用域添加到父作用域下,這使得作用域會變成一個和相應DOM結構一個的樹狀結構。

?

控制器屬性

現在我們就用ng-controller指令來創建一個簡單的控制器定義,如下所示:

  • <div ng-app="" ng-controller="MyController">
  • <p>請輸入一個名字:<input type="text" ng-model="person.name"> </p>
  • <p>Hello <span ng-bind="person.name"></span> </p>
  • </div>
  • <script>
  • function MyController($scope) {
  • $scope.person = {
  • name: "World"
  • };
  • }
  • </script>
  • 如上所述,我們通過ng-controller指令創建了一個JavaScript對象 —— MyController并帶有name屬性,那參數$scope是什么呢,代表什么意思呢。

    現在我們就來解答MyController對象參數 —— $scope。

    $scope就是把一個DOM元素連結到控制器上的對象,它提供一個綁定到DOM元素(以及其子元素)上的執行上下文。它也是一個JavaScript對象,指向應用程序作用域內的所有HTML元素和執行上下文。作用域呢,就是作為$scope的數據屬性關聯到DOM上的,并且能在需要調試的時候被獲取到。

    要明確創建一個$scope對象,我們就要給DOM元素安上一個controller對象,使用的是ng-controller 指令屬性。

    所有$scope都遵循原型繼承,這意味著它們都能訪問父$scope們,對任何屬性和方法,如果AngularJS在當前$scope上找不到,就會到父$scope上去找,如果在父$scope上也沒找到,就會繼續向上回溯,一直到$rootScope上,這個$rootScope是最頂級的$scope,它對應著含有 ng-app指令屬性的那個DOM元素,也就是說根作用域關聯的DOM就是ng-app指令定義的地方。

    也就是說,擁有了$scope,我們就可以操作作用域內任何我們想要獲取的對象數據。

    ?

    控制器方法

    控制器不僅聲明屬性也可以聲明方法,如下所示:

  • <div ng-app="" ng-controller="MyController">
  • Your name:
  • <input type="text" ng-model="username">
  • <button ng-click="sayHello()">打招呼</button>
  • <hr>
  • {{greeting}}
  • </div>
  • ?
  • <script>
  • function MyController($scope) {
  • $scope.username = 'World';
  • $scope.sayHello = function() {
  • $scope.greeting= 'Hello ' + $scope.username + '!';
  • };
  • }
  • </script>
  • 參考以上代碼,趕快動手試試控制器的使用方法吧!

    當然如果是開發條件的需要,我們也可以將控制器寫在外部文件中,那如上示例該怎么做呢,很簡單,如下簡單引用即可:

  • <script src="MyController.js"></script>
  • 轉載于:https://www.cnblogs.com/rainheader/p/4623954.html

    總結

    以上是生活随笔為你收集整理的模型和控制器-起步阶段的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美影视一区二区 | 亚洲永久精品国产 | 黄在线免费看 | 国产欧美日韩精品在线 | 男人和女人插插 | 国产精品高清在线 | 91成人在线看 | 久久久夜色精品亚洲 | 揄拍自拍| 国产精品96久久久久久 | 东京热无码av一区二区 | 最新日韩av| 男人激烈吮乳吃奶爽文 | 三上悠亚在线一区二区 | 亚洲精品一区二区三区婷婷月 | 91蝌蚪少妇 | 国产精品久久综合青草亚洲AV | 国产精品无遮挡 | 麻豆av影院 | av在线收看 | 老妇高潮潮喷到猛进猛出 | 大尺度激情吻胸视频 | 丰满人妻一区二区三区四区 | 亚一区二区| 黄色污网站在线观看 | 国产二区电影 | 天海翼视频在线观看 | 97国产免费 | 亚洲伦理天堂 | 亚洲黄片一区 | 强伦人妻一区二区三区 | www.久久视频 | 波多野结衣三区 | 草逼视频网 | 草草影院在线播放 | 国产美女av在线 | 高清无码视频直接看 | 亚洲人成人 | 亚洲成人av影片 | 精品国产一区二区三区久久久蜜臀 | 久久伊人操 | 91麻豆网站| 国产精品99久久免费黑人人妻 | 久久牛牛| 日韩激情视频一区二区 | 久久久久久久久综合 | 少妇媚药按摩中文字幕 | 另类综合小说 | 综合久久久久久久久久久 | 欧美高清视频一区二区 | 国产丝袜一区二区三区 | 97超碰人人澡 | 在线视频第一页 | 欧美三级一区二区三区 | 亚洲一区二区三区久久 | 欧美日本成人 | 一级片中文 | 五月天久久久久久 | 91九色蝌蚪视频 | 色七七桃花综合影院 | 日韩人妻精品在线 | 久久久经典| 9i看片成人免费看片 | 娇妻被肉到高潮流白浆 | 91久久久久久久久久 | 久久久久久国产精品免费 | 国内激情自拍 | 国产精品人人爽 | 泽村玲子在线 | 九色91popny蝌蚪新疆 | 亚洲人人精品 | 成人颜色网站 | 国产女女调教女同 | 在线观看欧美国产 | 天堂中文网在线 | 午夜在线视频免费观看 | 午夜爽爽爽视频 | 国产精品人成在线观看免费 | 欧美整片sss | 国内激情自拍 | 狠狠久久婷婷 | 中文字幕第3页 | 亚洲精品性 | av秋霞 | 国产精久久一区二区三区 | 欧美黑人精品一区二区不卡 | 国产麻豆精品一区二区 | 色男人的天堂 | 97人妻精品一区二区三区 | 国产九九九精品 | 国产传媒一区二区三区 | 久久久亚洲天堂 | 伊人一区二区三区 | 精品国产三级 | 国产自偷自拍视频 | 亚洲精品乱码久久久久久蜜桃动漫 | 亚洲午夜精品 | 欧美性生交xxxxx久久久缅北 | 欧美色吊丝 |