2017-05-29 25 views
1

我想設置一個樣式ng-style。我有一個數組:爲什麼我的ng樣式不工作?

scope.order = [0, 1, 2, 3, 4, 5] 

,我試圖用它來設置的順序上div

<div class="col-md-3" ng-show="country.usesAddrDistrict" ng-style="{'order': order.indexOf(3)}"> 
... 
</div> 

而且爲了不被設置。

我試過ng-style="{order: order.indexOf(3)}" 而且這也行不通。我正在使用Angular 1.5.8。這個怎麼用?

回答

0

嘗試將訂單分配給$ scope。

let order = [0, 1, 2, 3, 4, 5] 
 
    angular.module('myApp', []) 
 
     .controller("example", ["$scope", function (s) { 
 
      s.order = order; 
 
     }])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
    <div class="container" ng-controller="example"> 
 
    <div ng-style="{'order': order.indexOf(3)}"> Order: {{order.indexOf(3)}}</div> 
 
    </div> 
 
</div>

+0

它附屬於'scope'。當我複製到SO時,我錯過了。我可以讓'index.orderOf(3)'登錄到頁面,但它不適用於'style'。 – jhamm

+0

它適用於樣式標籤。你能檢查元件並檢查嗎? – dhaval

1

你的代碼看起來不錯,你只需要進行陣列可見您的模板,而是採用了塊範圍內聲明。

嘗試定義附加到$ scope的數組。

$scope.order = [0, 1, 2, 3, 4, 5]; 

,或者如果你使用控制器作爲語法

this.order = [0, 1, 2, 3, 4, 5] 
+0

它附加到'範圍'。當我複製到SO時,我錯過了。 – jhamm

+0

我用你的div做了一個plnkr。已編譯的html具有正確應用的樣式{order:3}。 https://plnkr.co/edit/ZPty3Fp2cKvkSTgSPyyE?p=preview – Karim

相關問題