今回は、前回作成したコードをカスタム(追加)してangular二様るstlye属性のコントロールをやって見ます。
ちなみに前回のコードはいかになります。
<!DOCTYPE html> <html> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <body> <div ng-app="myApp" ng-controller="myCtrl"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{firstName + " " + lastName}} </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstName= "John"; $scope.lastName= "Doe"; }); </script> </body> </html>
このコードに追加してlabel color: <input type="text" ng-model="myCol"><br/>
と<label style="background-color:{{myCol}}">
(閉じる部分も入れます)を追加します。
すると下の様な動きになります。
実行結果
処理概要
単純に、<label style="background-color:{{myCol}}">
の部分でstyle属性の値を"{{mtCol}}とバインドしているのでテキストボックスに入力した値がそのまま色指定になります。
HTMLで用意されていない値を設定するとstyleが外れます。
作成したコード
<!DOCTYPE html> <html> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <body> <div ng-app="myApp" ng-controller="myCtrl"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> label color: <input type="text" ng-model="myCol"><br/> <br> <label style="background-color:{{myCol}}"> Full Name: {{firstName + " " + lastName}} </label> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstName= "John"; $scope.lastName= "Doe"; $scope.myCol = "lightblue"; }); </script> </body> </html>
こんな感じです。
でわでわ。。。