Cách đặt chiều rộng div bằng ng-style


79

Tôi đang cố gắng đặt động chiều rộng div bằng cách sử dụng ng-stylenhưng nó không áp dụng kiểu. Đây là mã:

<div style="width: 100%;" id="container_fform" ng-controller="custController">
    <div style="width: 250px;overflow: scroll;">
        <div ng-style="myStyle">&nbsp;</div>
    </div>
</div>

Bộ điều khiển:

var MyApp = angular.module('MyApp', []);

var custController = MyApp.controller('custController', function ($scope) {
    $scope.myStyle="width:'900px';background:red";

});

Tôi đang thiếu gì?

Liên kết Fiddle : Fiddle

Câu trả lời:


139

Cú pháp của ng-stylekhông hoàn toàn như vậy. Nó chấp nhận một từ điển các khóa (tên thuộc tính) và giá trị (giá trị mà chúng nên lấy, một chuỗi trống không đặt chúng) thay vì chỉ một chuỗi. Tôi nghĩ những gì bạn muốn là:

<div ng-style="{ 'width' : width, 'background' : bgColor }"></div>

Và sau đó trong bộ điều khiển của bạn:

$scope.width = '900px';
$scope.bgColor = 'red';

Điều này duy trì sự tách biệt của khuôn mẫu và bộ điều khiển: bộ điều khiển giữ các giá trị ngữ nghĩa trong khi mẫu ánh xạ chúng đến tên thuộc tính chính xác.


11
Dictionary of Keys .... khiến tôi mỉm cười. Thật là một mô tả hùng hồn cho một đối tượng JS khác.
Steve K

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.