Quantcast
Channel: プログラム の個人的なメモ
Viewing all articles
Browse latest Browse all 860

【JavaScript】 knockout.js ~入門編~

$
0
0

Knockout(ノックアウト)とは?

 * Model-View-ViewModel(MVVM)パターンをサポートするライブラリ

何ができる?

 * 双方向バインディング

環境構築

[1] 以下のサイトからJSをダウンロードする
 or
    CDN(Content Delivery Networks)用のURL(http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js)をコピーする
http://knockoutjs.com/downloads/index.html
[2] コンテンツをインポートする

<script type='text/javascript' src='http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js'></script>

サンプル

例1:Hello World!

<html>
<head>
<meta charset="UTF-8">
<script type='text/javascript' src='http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js'></script>
</head>
<body>
<div data-bind="text: message"></div>
<script>
window.onload = function() {
    var viewModel = {message: 'Hello World!'};
    ko.applyBindings(viewModel);
};
</script>
</body>
</html>

出力結果

Hello World!

例2:SELECT BOX

http://jsfiddle.net/MikeEast/nM6dd/2/
より
<html>
<head>
<meta charset="UTF-8">
<script type='text/javascript' src='http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js'></script>
</head>
<body>
<div>
<select data-bind="options: items, optionsText: 'name', value: selected"></select>
<span data-bind="text: selected().name"></span>
<script type="text/javascript">
var ViewModel = function () {
   this.items = ko.observableArray([
       { id: 1, name: "Mike" }, 
       { id: 2, name: "Tom"},
       { id: 3, name: "Smith"}
   ]);
   this.selected = ko.observable();
};

ko.applyBindings(new ViewModel());
</script>
</body>
</html>

例3:SELECT BOX/multiple

<html>
<head>
<meta charset="UTF-8">
<script type='text/javascript' src='http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js'></script>
</head>
<body>
<select size="5" multiple
 data-bind="options: array, selectedOptions: selectedArray"></select>
<script>
    var viewModel = {
        array: ['Japan', 'USA', 'UK', 'China', ''],
        selectedArray: ['USA', 'China']
    };

    ko.applyBindings(viewModel);
</script>
</body>
</html>



関連記事

ASP.NET MVC で、 knockout.js を使う ~入門編~

http://blogs.yahoo.co.jp/dk521123/35660898.html

UIアーキテクチャ・パターン(MVVM / MVPVM)

http://blogs.yahoo.co.jp/dk521123/22001152.html

knockout.js ~基礎編~

http://blogs.yahoo.co.jp/dk521123/35665471.html

Viewing all articles
Browse latest Browse all 860

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>