famo.usã¯æ画エンジンã§ã™ã€‚ 先日紹介ã—ãŸã¨ãã«è¨€åŠã—ãŸãƒ‡ãƒ¢ã¯ä¸‹è¨˜ã«ã‚ã‚Šã¾ã—ãŸã€‚
ã“ã®famo.usã‚’Angularã¨çµ±åˆã—ãŸäººãŸã¡ãŒã„ã¾ã™ã€‚
http://famo.us/integrations/angular/
ã“ã‚ŒãŒãªã‹ãªã‹ã„ã„ã®ã§ã™ã€‚famo.usã¯JavaScriptã§ã™ã¹ã¦æ›¸ãã®ã§ã™ãŒã€ã¡ã‚‡ã£ã¨æ‰‹ç¶šãçš„ãªæ„Ÿã˜ã«ãªã‚Šã¾ã™ã€‚ãれをAngularã®directiveã«æ›¸ã‘るよã†ã«ã™ã‚‹ã®ã§ã™ã€‚ã¡ã‚ƒã‚“ã¨ã€bindingã‚‚å‹•ãã®ã§ã€æ›´æ–°ç³»ãŒãªã‚“ã¨ã‚‚ç°¡å˜ãªã®ã§ã™ã€‚Angularã®çµŒé¨“ãŒã‚ã‚Œã°æ™®é€šãªã®ã§ã€ç‰¹ã«é©šãã‚‚ãªã„ã¨è¨€ãˆã°ãã‚Œã¾ã§ãªã®ã§ã™ãŒã€ã“ã‚Œã«æ…£ã‚Œã‚‹ã¨ã€ç”Ÿã®famo.usを書ãã®ã¯é¢å€’ãã•ãæ„Ÿã˜ã‚‹ã‚ˆã†ã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
ã¨ã„ã†ã‚ã‘ã§ã€ã‚µãƒ³ãƒ—ルを作ã£ã¦ã¿ã¾ã—ãŸã€‚ 1ã¤ã®HTMLã«ã™ã¹ã¦è©°ã‚è¾¼ã¿ãŸã‹ã£ãŸã®ã§ã€single fileã®famous-angularを使ã„ã¾ã—ãŸã€‚通常ã¯ã€bowerã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹æ–¹æ³•ãŒç´¹ä»‹ã•ã‚Œã¦ã„ã¾ã™ã€‚
single fileã®ã‚‚ã®ã¯cdnã«ãªã„ã®ã§ã€http://rawgit.com/を使ã„ã¾ã—ãŸã€‚ã¨ã“ã‚ã§ã€rawgitã¯cdn版(beta)ã‚‚ã‚ã£ã¦ã™ã°ã‚‰ã—ã„ã§ã™ã€‚ã“ã‚Œã¯ç¶šã„ã¦æ¬²ã—ã„ã‚‚ã®ã§ã™ã€‚
ã•ã¦ã€å‡ºæ¥ä¸ŠãŒã£ãŸã‚µãƒ³ãƒ—ルã¯
ã§ã™ã€‚ソースコードã¯gistã«ã‚ã‚Šã¾ã™ãŒã€ä¸‹è¨˜ã«ã‚‚貼り付ã‘ã¾ã™ã€‚
<html ng-app="MyApp">
<head>
<title>famo.us angular sample</title>
<link type="text/css" href="//code.famo.us/famous/0.2/famous.css" rel="stylesheet" />
<link type="text/css" href="//cdn.rawgit.com/Famous/famous-angular/fee2b717a53ad762c9e3157580ce255901f4ccad/dist/famous-angular.min.css" rel="stylesheet" />
<script type="text/javascript" src="//code.famo.us/lib/require.js"></script>
<script type="text/javascript" src="//code.famo.us/famous/0.2/famous.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.min.js"></script>
<script type="text/javascript" src="//cdn.rawgit.com/Famous/famous-angular/fee2b717a53ad762c9e3157580ce255901f4ccad/dist/famous-angular.min.js"></script>
<script type="text/javascript">
angular.module('MyApp', ['famous.angular'])
.controller('MyController', ['$scope', function($scope) {
$scope.items = [];
for (var y = 0; y < 1; y += 0.1) {
for (var x = 0; x < 1; x += 0.1) {
$scope.items.push({x: x, y: y, color: 'yellow'});
}
}
}]);
</script>
</head>
<body ng-controller="MyController">
<fa-app>
<fa-modifier ng-repeat="item in items" fa-origin="[item.x, item.y]">
<fa-surface fa-size="[30, 20]" fa-click="item.color = 'red'" fa-background-color="item.color" fa-properties="{textAlign: 'center', lineHeight: '20px'}">{{$index}}</fa-surface>
</fa-modifier>
</fa-app>
</body>
</html>
Famo.us/Angularã¯ã¾ã 発展途上ã§ã™ã¹ã¦ã®æ©Ÿèƒ½ãŒdirective化ã•ã‚Œã¦ã„ã¾ã›ã‚“ãŒã€ä»Šå¾Œã«æœŸå¾…ã—ã¦ã„ã¾ã™ã€‚