2013-09-24 41 views
8

Tôi nhận thấy một số điều kỳ lạ với phạm vi phương thức ui-bootstrap. Có vẻ như khi sử dụng ng-model trong nó, bạn phải tham khảo $ parent để có được phạm vi của bộ điều khiển phương thức. Thông báo trong plunker của tôi rằng các tài sản khác như một ng-tùy chọn không yêu cầu $ cha mẹ: http://plnkr.co/edit/xGSHz4EkZvGr2D6CUeBz?p=previewui-bootstrap lỗi phạm vi phương thức

Bất kỳ ý tưởng tại sao? Tôi đã tìm thấy sự cố tương tự tại đây: Scope issues with Angular UI modal

Điều đó đã dẫn tôi thử thay đổi $ mẹ nhưng tôi không thể nhận xét về chuỗi đó vì tôi không có đủ danh tiếng.

Bất kỳ ý tưởng nào về phạm vi có vẻ thay đổi?

Cảm ơn!

Trả lời

14

Phương thức có phạm vi riêng (Tôi chưa bao giờ sử dụng giao diện người dùng góc, nhưng đó là điều duy nhất có thể xảy ra) và khi bạn đặt "selectedLocation", thuộc tính sẽ được đặt trên phạm vi của phương thức chứ không phải phạm vi của bộ điều khiển. $ Parent là buộc nó để có phạm vi điều khiển của bạn, nhưng đó không phải là một giải pháp tốt bởi vì bạn sẽ được khóa tự của bạn thành một cấu trúc nhất định luôn luôn giả định cha mẹ của phương thức có "mô hình".

Dưới đây là một Plunker biến đổi sử dụng một đối tượng mô hình trên phạm vi điều khiển của bạn (sử dụng model.selectedLocation) http://plnkr.co/edit/B5kZaIA5xi2RediUTBK7?p=preview

Anyways, nếu bạn đặt tài sản của bạn trên một cái gì đó giống như "$ scope.model.selectedLocation" rằng những thay đổi hành vi . Bây giờ, khi tôi tham khảo "model.selectedLocation" trên phương thức, phạm vi của phương thức không có một đối tượng mô hình để Angular đi lên chuỗi phạm vi đến phạm vi của bộ điều khiển của bạn (mà không có một đối tượng mô hình).

Xem video này từ John Lindquist, tôi nghĩ rằng nó có thể giải thích tốt hơn nhiều so với tôi có thể. :-) http://egghead.io/lessons/angularjs-the-dot

Các vấn đề liên quan