我正在编写一个调度服务,所以每周都有很多次;当你每次点击它的Unix格式发送到模态并且用户可以预订时,现在我想通过编写以下代码将Unix时间传递给ngDialog模块。
schedule.controller('schedule', ['$scope', '$http', 'ngDialog', function($scope, $http, ngDialog) {
$http.get('/zt-api/business/admin/' + window.location.pathname.split('/')[2]).success(function(data) {
$scope.admin_times = data;
$scope.duration = {
startTime: "",
endTime: ""
};
$scope.clickToOpen = function(start) {
ngDialog.openConfirm({
template: '/static/partials/staff_admin/ngdialog/admin_block_time.html',
scope: $scope
}).then(function(value) {
console.log(value);
}, function(reject) {
console.log(reject);
});
$scope.duration.startTime = start;
console.log($scope.duration)
};
}
});
});
}]);
<div class="morning" ng-hide="hideMorning" ng-repeat="(key4, array4) in array3.times | filter: {'part': 'morning'}">
<div class="daytime" ng-click="clickToOpen(array4.unix)" id="{[{ array4.unix }]}" ng-show="array4.part=='morning'">{[{ array4.timestamp.split(" ")[1].slice(0,5) }]}</div>
</div>
**array4.unix returns Unix time.**
我想在运行clickToOpen函数时能够将$scope.duration.startTime
更改为start
,但是,它只会在不到一秒的时间内发生变化!我该如何修改呢?
答案 0 :(得分:0)
如果你将控制器添加到ngDialog.openConfirm()并记录这样的$ scope。
ngDialog.openConfirm({
template: 'templateId',
controller: function($scope){
console.log($scope);
},
scope: $scope
}).then(function(value) {
console.log(value);
}, function(reject) {
console.log(reject);
});
}
您会注意到通过父控制器传入的任何值都可通过$ scopes。$ parent对象访问,如下图所示。这是一个plunk,可以将$ scope传递给ngDialog,并在ngDialog中的输入框中显示主控制器$ scope.dateTime