Anglarjs-コア概念
3748 ワード
angglarjsはAJAXを使ったアプリケーション開発の複雑さを軽減することを目的としており、プログラムの作成、テスト、拡張、メンテナンスがeasuryになる。以下はangglarjsの中のいくつかの核心概念です。
1.clientテンプレート
複数ページのアプリケーションは、server上のデータを組み立ててつなぎ合わせてHTMLを作成し、ブラウザに出力します。Anglarjsはこれと違って、テンプレートとデータをブラウザに渡してブラウザ側で組み立てることです。ブラウザの役割は、テンプレートの静的リソースとテンプレートだけを提供するために必要なデータをプログラミングします。
ハロー.
MVCのコアコンセプトは、コードの で データ(モデル)を し、プログラム (コントローラ)を し、ユーザーに することです。Anglarアプリケーションでは、ビューはDOMであり、コントローラはJavascript であり、モデルデータはオブジェクト に されている。
3.データバインディング
なDOM は、まずデータ を してから、 にinnerHTMLを して を なDOMに するものです。このような の は に く、インターフェースとjavascript の でデータを した の しい を する があります。
Anglarにはこの が まれています。インタフェースの の からJavascriptまでの だけを して、 から を させます。
4.
$scopeオブジェクトバーのデータバインディングは から にHello Controller を じて に されます。
5.コマンド
Anglarは なDOM エンジンを み、 がHTML を する を っています。 の では、 たちは{}がバインディングデータを していることを ました。ng−controlはどのコントローラを してどのビューをサービスするかを しています。 たちはHTML と びます。
Anglarは、テンプレートとして なビューを することができる に くの を む。このほか、 は の を してHTMLテンプレートを することもできます。
ショッピングカートのデモ :
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に追加します。