Tôi có một vài mẫu một phần nơi vị trí được thay đổi dựa trên hành động người dùng thông qua ng-click:AngularJS ngInclude động thay đổi vị trí của nó
<div ng-include="contentUrl"></div>
<button ng-click="contentUrl = '../partials/testScriptForm.html'">Add Test Script</button>
này hoạt động tuyệt vời, trừ khi tôi vào nút ở trên là bên trong của bản thân một phần , vì vậy nếu testScriptForm.html có nút:
<button ng-click="contentUrl = '../partials/testScriptCase.html'">Add Test Case</button>
Sau đó, không có gì xảy ra.
Điều này có vẻ do ng-include nhận được phạm vi mới (được kế thừa nhưng không được chia sẻ?).
Điều tôi không thể hiểu là cách lấy mẫu được bao gồm (một phần) để thay đổi vị trí của riêng nó.
Tôi đã thử một hàm để thay đổi phạm vi $. $ Parent.contentUrl, dường như thay đổi nhưng không "thay đổi" các thay đổi.
Trong coffeescript:
$scope.changeParentLocation = (location) ->
$scope.$parent.contentUrl = location
Cũng cố gắng $ phạm vi $ apply() và $ phạm vi $ mẹ $ áp dụng() trong đó và nhận được lỗi:...
Error: [$rootScope:inprog] http://errors.angularjs.org/1.2.0rc1/ $rootScope/inprog?p0=%24apply
lẽ Tôi chỉ sử dụng sai bao gồm ...
Hãy thử sử dụng một đối tượng ' "content.Url = 'someFile.html'"' thay vì chỉ ' "contentURL = 'someFile.html'"' – AlwaysALearner
Cảm ơn bạn! Tôi đã cố gắng tìm ra lý do tại sao ng-click không thể thay đổi mẫu bao gồm và sẽ không bao giờ đoán nó là do một phạm vi mới .. – Sonata