1

私は ng-style を使用するいくつかのコンテンツを持っています。これはテンプレート html の一部です:

<div ui-tree-handle data-nodrag 
     class="tree-node tree-node-content" 
     ng-click="toggle(this)" 
     ng-style={{breddeCSS}}>

breddeCSS はコントローラーで次のように定義されています。

      function setBreddeCSS(b) {

          switch (b) {

              case 0:
                  $scope.breddeCSS = {
                      "margin": "-1px",
                  };
                  break;

              case 1:
                  $scope.breddeCSS = {
                      "margin": "5px",
                  };
                  break;

              default:
                  $scope.breddeCSS = {
                      "margin": "10px",
                  };
          }

      }

テンプレートはマージン スタイルを取得しますが、それはサイトが最初に読み込まれたときだけです。$scope.bredde を変更すると、ページが更新されて初めて変更が反映されます。

$scope.bredde が更新されるたびに動的にページを変更したいと考えています。これどうやってするの?

4

1 に答える 1

1

ngStyle評価の結果ではなく、式自体が必要です。ドキュメント.

<div ui-tree-handle data-nodrag 
     class="tree-node tree-node-content" 
     ng-click="toggle(this)" 
     ng-style="breddeCSS">

http://plnkr.co/edit/RxTte5njdS8GfTiD73LA?p=preview

于 2015-11-27T10:49:16.417 に答える