角度$scope变量未显示在引导模式初始化上
Angular $scope variable not being shown on Bootstrap modal init
我正在使用带有角度的FullCalendar,到目前为止它运行良好。 但是,当我单击事件时,我会显示一个包含事件信息的模式。
eventClick : function(event) {
$scope.clickedEvent = $filter('filter')($scope.events, {eventID: event.id})[0];
console.log($scope.clickedEvent);
GetEvent($scope, $scope.clickedEvent, $filter);
// opening the event modal
$("#eventModal").modal("show");
},
这在大多数情况下都有效,但为了显示我的事件,我有这样的行
<td class="col-md-6"><label class="horizontal-table-title">{{clickedEvent.eventStatusID}}</label></td>
而这些都没有填满。 在我的初始调用中,我正在做一个 console.log(),这显示了我的 clickedEvent $scope变量,并显示它填充了事件信息。
我的 GetEvent() 函数看起来像
function GetEvent($scope, event, $filter) {
// Init date and time pickers
InitPickers($scope);
$scope.submitInfo = angular.copy(event)
// Converting the event date to a moment.js object for better display
// Also need to seperate the date and time as it comes in as one string but edited as two
var eventDate = moment($scope.clickedEvent.eventStartDateAndTime).format('MMMM Do YYYY');
var eventTime = moment($scope.clickedEvent.eventStartDateAndTime).format('hh:mm a');
// Modal event info body
$("#claim-id").text($scope.clickedEvent.attachedClaim.claimId);
$("#event-date").text(eventDate);
$("#event-time").text(eventTime);
// Modal event edit body
$("#datepicker").attr("value", eventDate);
$("#timepicker").attr("value", eventTime);
$("#event-edit-status").val($scope.clickedEvent.eventStatusID);
$("#event-edit-description").val($scope.clickedEvent.eventDescription);
$("#event-edit-resource").text($scope.clickedEvent.eventResourceName);
$("#event-edit-resource-address").text($scope.clickedEvent.eventResourceAddress);
}
我还有一个名为 EventRefresh 的函数,它绑定到一个复选框,该复选框将模式的视图从显示事件更改为能够编辑事件。
<label>Change View Type:
<input type="checkbox" ng-model="checkboxModel" ng-click="eventRefresh()">
</label>
哪个调用 GetEvents()
scope.eventRefresh = function() {
GetEvent($scope, $scope.clickedEvent, $filter)
}
一旦检查了这一点,就会显示{{clickedEvent}}中的所有信息。 仅在模态的初始打开时没有任何显示。
正如Charlieftl在上面的评论中指出的那样,我需要使用
$scope.$apply()
所以我用它包装了我的 GetEvent() 函数。 我的代码来自
eventClick : function(event) {
$scope.clickedEvent = $filter('filter')($scope.events, {eventID: event.id})[0];
console.log($scope.clickedEvent);
GetEvent($scope, $scope.clickedEvent, $filter);
// opening the event modal
$("#eventModal").modal("show");
},
自:
eventClick : function(event) {
$scope.clickedEvent = $filter('filter')($scope.events, {eventID: event.id})[0];
console.log($scope.clickedEvent);
$scope.$apply(function() {
GetEvent($scope, $scope.clickedEvent, $filter);
// opening the event modal
$("#eventModal").modal("show");
});
},
谢谢查理夫特!
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- 对插件初始化后动态加载的元素进行样式设置
- Angular JS控制器初始化错误
- 在XMLHttpRequest之后重新初始化jQuery
- ember-js组件初始化不同的函数
- javascript严格模式下oop函数的全局初始化
- 角度$scope变量未显示在引导模式初始化上
- 用于初始化对象的编码模式 - 构造函数(新)与 Object.create()(Crockford)
- JS模块模式:如何初始化本地对象
- 初始化后重置引导模式参数
- Twitter启动模式在初始化时显示
- Javascript模块模式:加载时初始化两个对象
- Angular初始化时用户认证的最佳实践/模式
- 具有异步初始化的单例模式