Anglarjs-コア概念

3748 ワード

angglarjsはAJAXを使ったアプリケーション開発の複雑さを軽減することを目的としており、プログラムの作成、テスト、拡張、メンテナンスがeasuryになる。以下はangglarjsの中のいくつかの核心概念です。
1.clientテンプレート
     複数ページのアプリケーションは、server上のデータを組み立ててつなぎ合わせてHTMLを作成し、ブラウザに出力します。Anglarjsはこれと違って、テンプレートとデータをブラウザに渡してブラウザ側で組み立てることです。ブラウザの役割は、テンプレートの静的リソースとテンプレートだけを提供するために必要なデータをプログラミングします。
     
ハロー.






{{greeting.text}}, World

controllers.js
function HelloController($scope) {
    $scope.greeting = { text: 'Hello' };
}
2. モデル    コントローラ(MVC)
     MVCのコアコンセプトは、コードの で データ(モデル)を し、プログラム (コントローラ)を し、ユーザーに することです。Anglarアプリケーションでは、ビューはDOMであり、コントローラはJavascript であり、モデルデータはオブジェクト に されている。
3.データバインディング
      なDOM は、まずデータ を してから、 にinnerHTMLを して を なDOMに するものです。このような の は に く、インターフェースとjavascript の でデータを した の しい を する があります。
     Anglarにはこの が まれています。インタフェースの の からJavascriptまでの だけを して、 から を させます。






{{greeting.text}}, World

controllers.js
function HelloController($scope) {
    $scope.greeting = { text: 'Hello' };
}
inputの (ユーザーの )は、greeting.textと し、 の になります。バインディングは であり、また$scope.greeting.textの を することによって、 ボックスと ({}}に ら させることもできます。
4.
     $scopeオブジェクトバーのデータバインディングは から にHello Controller を じて に されます。
function HelloController($scope, $location) {
$scope.greeting = { text: 'Hello' };
// use $location for something good here...
}
Anglarの システムを じて、ディミットの ( )に い、 たちの も な だけに します。
5.コマンド
     Anglarは なDOM エンジンを み、 がHTML を する を っています。 の では、 たちは{}がバインディングデータを していることを ました。ng−controlはどのコントローラを してどのビューをサービスするかを しています。 たちはHTML と びます。
     Anglarは、テンプレートとして なビューを することができる に くの を む。このほか、 は の を してHTMLテンプレートを することもできます。
ショッピングカートのデモ :



    Your Shopping Cart


Your Order

function CartController($scope) { $scope.items = [ {title: 'Paint pots', quantity: 8, price: 3.95}, {title: 'Polka dots', quantity: 17, price: 12.95}, {title: 'Pebbles', quantity: 5, price: 6.95} ]; $scope.remove = function (index) { $scope.items.splice(index, 1); } }
   Anglar管理ページの一部を教えてください。必要に応じて、上に置くこともできます。   Javascript類をコントローラと呼び、対応ページのエリアにあるものは何でも管理できます。   n-repeatは、items配列中の各要素を表しています。このDIV中のDOMをコピーして、同じ時にitemを現在の要素として設定し、テンプレートで使用することができます。{item.title}   表式{item.title}は、反復中の現在のエントリを検索し、現在のエントリのtitle属性値をDOMに挿入します。   n-model定義入力フィールドとitem.quantityの間のデータバインディング{item.price_currency}{item.price*item.quantity_currency}    単位の価格と総価格はドル形式にフォーマットされています。Anglarのcurrencyフィルタでドル形式のフォーマットを行います。Remove   ng-repeatの反復順序で$indexを通して、データと対応するDOM(双方向結合特性)function CartController($scope)を除去します。   CartControllerはこの買い物車のロジックを管理しています。scopeはデータを界面に結びつけるための元素です。scope.items=[{title:''Paint pots',quantity:8,price:3.95]、{title:Polka dots',quantity:17,price:12.95}   scope.itemsを定義することによって、私たちはすでにユーザーを代表する仮想データを作成しました。ショッピングカートはメモリだけではなく、server端末の持続的なデータも通知しなければなりません。   remove()関数はインターフェースに結合できます。したがって、私たちもそれを$scopeに追加します。