AngularJS をちょっとだけ勉強中。
AngularJS は MVC 構造を導入しやすい JavaScript フレームワーク。
HTML と JavaScript オブジェクト間のデータバインディングと、依存性の注入 (DI: Dependency injection) に強いらしい。
とりあえず hello, world のサンプルコードを書いてみる。
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>AngularJS : hello, world sample</title>
</head>
<body>
<div ng-controller="TextController">
<p>{{myData.message}}</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script>
// AngularJS 1.3 以降では
// コントローラーをグローバル関数として定義するエラーになるので
// モジュールを使って名前空間を与える
var myAppModule = angular.module("myApp", []);
myAppModule.controller("TextController", function($scope){
var data = {};
data.message = "hello, world";
$scope.myData = data;
});
</script>
</body>
</html>
サンプルはこちら ⇒ AngularJS : hello, world sample
参考書としてオライリーの AngularJS アプリケーション開発ガイド を参考にソースコードを書きはじめたけど、どうもこの参考書は AngularJS 1.2 をターゲットにしているらしく、 AngularJS 1.3 だと最初のサンプルからエラーが出てしまうというありさま。
なんでエラーが出てるのか、書籍と自分のコードのどこがちがうんだろうと考えていてけっこう時間をとられた。
ネットを検索してようやく納得。
[警告/エラー] コントローラをグローバル関数として定義していると警告(AngularJS 1.3ではエラー)
AngularJSのベストプラクティスに従っていますか? -- angular-hintの使い方 - Qiita
勉強するときはちゃんとバージョンを合わせたほうが無難。。。
ref. AngularJS — Superheroic JavaScript MVW Framework
tags: angularjs javascript
Posted by NI-Lab. (@nilab)