感謝您的關注。
我有這股相同的角控制器作爲它的父頁面模態下的標記:
<!-- START Add Event Video -->
<script type="text/ng-template" id="EventVideo.html">
<div class="event-modal">
<div class="modal-header"><h3>Event Video</h3></div>
<div class="modal-body">
<p>Please enter the URL of either a <strong>YouTube</strong> or <strong>Vimeo</strong> video.</p>
<span ng-if="!Event.VideoUrlIsValid" style='color:#9f9f9f;'>This doesn't look like a valid YouTube or Vimeo Url. Your video may not work.</span>
<div class="row" ng-controller="EventCreateController">
<div pr-form-input span="12" name="videoUrl" ng-model="Event.Item.VideoUrl" placeholder="YouTube or Vimeo URL" isRequired="false" no-asterisk></div>
</div>
</div>
<div class="modal-footer"><button class="btn btn-primary" ng-click="Event.UI.EventVideoModal.Close()">Done</button></div>
</div>
</script>
<!-- END Add Event Video -->
這裏是相關的JavaScript:
EventVideoModal: {
Open: function() {
$scope.EventVideoModal = $modal.open({
templateUrl: 'EventVideo.html',
controller: 'EventCreateController',
scope: $scope
});
},
Close: function() {
$scope.EventVideoModal.close();
}
}
請注意:Event.Item.VideoUrl
模型參考。
該模式允許用戶設置視頻的URL,目標是在控制器中設置$scope.Event.Item.VideoUrl
,然後關閉模式。父母頁面和模式都共享相同的控制器,所以我希望這可以工作。
模式行爲沒有問題(打開和關閉,因爲它應該),但$scope.Event.Item.VideoUrl
屬性沒有得到設置。
任何意見表示讚賞。
問題解決了!
感謝Bogdan Savluk,我意識到我有一個範圍繼承問題。因此,消除雙方明確提到在HTML模式的控制器,以及在JavaScript構造,解決了我的問題:
<!-- START Add Event Video -->
<script type="text/ng-template" id="EventVideo.html">
<div class="event-modal">
<div class="modal-header"><h3>Event Video</h3></div>
<div class="modal-body">
<p>Please enter the URL of either a <strong>YouTube</strong> or <strong>Vimeo</strong> video.</p>
<span ng-if="!Event.VideoUrlIsValid" style='color:#9f9f9f;'>This doesn't look like a valid YouTube or Vimeo Url. Your video may not work.</span>
<!-- <div class="row" ng-controller="EventCreateController"> <--REMOVE THIS! -->
<div class="row">
<div pr-form-input span="12" name="videoUrl" ng-model="Event.Item.VideoUrl" placeholder="YouTube or Vimeo URL" isRequired="false" no-asterisk></div>
</div>
</div>
<div class="modal-footer"><button class="btn btn-primary" ng-click="Event.UI.EventVideoModal.Close()">Done</button></div>
</div>
</script>
<!-- END Add Event Video -->
這裏是相關的JavaScript:
謝謝,這讓我走上了正軌! –