Tôi không thể gọi một chức năng điều khiển từ bên trong một tùy chỉnh mẫu với ui-typeahead:truy cập phạm vi điều khiển từ Bootstrap-UI Typeahead mẫu
<input typeahead="val for val in autoComplete($viewValue)"
typeahead-template-url="searchAutocompleteTpl.html"
ng-model="query"/>
<script type="text/ng-template" id="searchAutocompleteTpl.html">
<span ng-repeat="eqp in match.model.equipment"/>
<a href="" ng-click="showItem(eqp.model)">
found in: {{eqp.model}}
</a>
</script>
Vấn đề là phạm vi của bộ điều khiển có vẻ là vắng mặt trong mẫu:
showItem(eqp.model)
không bao giờ được gọi. Tôi cũng đã thử với:
$parent.showItem(eqp.model)
không có kết quả.
Làm cách nào để gọi hàm/giá trị trên phạm vi của bộ điều khiển?
cảm ơn, nhưng bạn có biết tại sao không? và nơi chúng ta có thể thấy rõ ràng về cấu trúc của phạm vi. – Awakening
Mất 4 đô la cho tôi để đến phạm vi ban đầu. – ddalex
Nó phụ thuộc vào cách thức và nơi bạn sử dụng. typeahead rõ ràng giới thiệu một phạm vi cô lập một nơi nào đó có nghĩa là bạn không nhận được để prototypically kế thừa từ phạm vi cha mẹ của riêng bạn. Đây là lý do tại sao bạn phải sử dụng $ parent, được điền bởi góc cạnh ngay cả trong phạm vi cô lập. Nếu bạn đang sử dụng typeahead trong chỉ thị của riêng bạn mà cũng định nghĩa một phạm vi cô lập, thì bạn sẽ cần phải đi lên chuỗi $ parent 4 lần để đến phạm vi cơ sở của bạn. Tất nhiên tại thời điểm này bạn có thể muốn bắt đầu xem xét lại mã của bạn. Điểm của một phạm vi riêng biệt là nó có thể được tái sử dụng bởi vì nó không phụ thuộc vào cha/mẹ. –