ng-style
を使用してdivの幅を動的に設定しようとしていますが、スタイルを適用していません。コードは次のとおりです。
<div style="width: 100%;" id="container_fform" ng-controller="custController">
<div style="width: 250px;overflow: scroll;">
<div ng-style="myStyle"> </div>
</div>
</div>
コントローラ:
var MyApp = angular.module('MyApp', []);
var custController = MyApp.controller('custController', function ($scope) {
$scope.myStyle="width:'900px';background:red";
});
私は何が欠けていますか?
フィドルリンク: フィドル
ng-style
の構文はそうではありません。文字列だけでなく、キー(属性名)と値(必要な値、空の文字列nsetsそれら)の辞書を受け入れます。あなたが望むのはこれだと思います:
<div ng-style="{ 'width' : width, 'background' : bgColor }"></div>
そしてコントローラーで:
$scope.width = '900px';
$scope.bgColor = 'red';
これにより、テンプレートとコントローラーの分離が維持されます。コントローラーがセマンティック値を保持している間、テンプレートはそれらを正しい属性名にマップします。