2015-01-12 20 views
9

Nếu chỉ thị của tôi sử dụng "require" để sử dụng một chỉ thị khác, nói ngModel và sử dụng phạm vi cách ly làm cách nào để tôi có thể sử dụng cú pháp bindToController và vẫn có thể truy cập vào mũi tiêm (ngModelController) từ bộ điều khiển?bindToController với yêu cầu trong Chỉ thị Góc

Trả lời

21

Bạn sẽ làm điều này như thế nào mà không cần bindToController? Tất cả những gì bindToController: true thực hiện là nó liên kết thuộc tính phạm vi cô lập scope: { prop: "=" } với thuộc tính của bộ điều khiển: this.prop.

Trong cả hai trường hợp, cách để vượt qua một "yêu cầu" điều khiển sẽ là như nhau, mà là để require điều khiển của riêng bạn và thiết lập tài sản của mình để bất cứ điều gì bạn muốn, bao gồm bộ điều khiển khác:

app.directive("foo", function(){ 
    return { 
    require: ["foo", "bar"], 
    controller: function(){ 
     this.doSomethingWithBar = function(){ 
     this.bar.doSomething(); 
     }; 
    }, 
    controllerAs: "ctrl", 
    bindToController: true, 
    link: function(scope, element, attrs, ctrls){ 
     var foo = ctrls[0], bar = ctrls[1]; 
     foo.bar = bar; 
    } 
    } 
}); 
+0

Đây là chắc chắn là câu trả lời đúng và nên được chấp nhận. –

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