형식적으로 사용자 정의 확인란의 onChange 이벤트에서 모달을 팝업하려고합니다. 모달 괜찮 턴업하지만, 내가 잘못 어디에 버튼. :(작업을 할 수없는 이유는 무엇입니까? 다음과 같이 내 버튼이있는 템플릿에서각형 : 모달 버튼이 작동하지 않습니다. 변경 이벤트
{
key: 'coordinatesToLocateSite',
className: 'col-sm-8 col-md-8 col-lg-8',
type: 'custom_checkbox',
templateOptions: {
label: 'Use coordinates to locate site',
onChange: function($viewValue, $modelValue, scope) {
if ($viewValue === true) {
scope.modalInstance = scope.$uibModal.open({
animation: true,
templateUrl: 'address_replace_coordinates_check.html'
})
}
function check() {
if (scope.modalInstance) {
scope.modalInstance.close();
}
}
scope.uncheck = function uncheck(keyName) {
$scope.model[keyName] = !$scope.model[keyName];
if (scope.modalInstance) {
scope.modalInstance.close();
}
}
}
},
expressionProperties: {
'templateOptions.disabled': 'formState.disabled'
}
}
,
<div class="modal-footer">
<button class="btn btn-warning" type="button" ng-click="check()">Ok</button>
<button class="btn btn-primary" type="button" ng-click="uncheck('coordinatesToLocateSite')">Cancel</button>
</div>
을 그리고 마지막으로, 나는 ' 내가 you'r 올바르게 함수를 호출하지 참조
formlyConfigProvider.setType({
name: 'custom_checkbox',
templateUrl: 'bcsa_checkbox.html',
wrapper: ['bootstrapHasError'],
apiCheck: function apiCheck(check) {
return {
templateOptions: {
onChange: check.oneOfType([check.string, check.func]),
label: check.string
}
};
},
controller: /* @ngInject */ function($scope, $sce, $uibModal) {
'ngInject';
$scope.$uibModal = $uibModal;
var markerOfRequired = '<span class="red"> \n<strong> \n* \n</strong> \n</span>';
$scope.labelDisplay = $sce.trustAsHtml($scope.to.label + ($scope.to.required ? markerOfRequired : ''));
$scope.onChange = onChange;
$scope.check = check;
$scope.uncheck = uncheck;
function onChange($event) {
if (angular.isString($scope.to.onChange)) {
return $scope.$eval($scope.to.onChange, { $event: $event, $scope: $scope });
} else {
return $scope.to.onChange($event, $scope);
}
}
function check() {
if (scope.modalInstance) {
scope.modalInstance.close();
}
}
function uncheck(keyName) {
$scope.model[keyName] = !$scope.model[keyName];
if (scope.modalInstance) {
scope.modalInstance.close();
}
}
}
});
우리가 사용하는 경우 비슷하지 않습니까? $ scope.onChange = onChange; $ scope.check = check; $ scope.uncheck = 선택 취소; ?? – Mahib
나는 [this] (https://jsfiddle.net/modar/jzbrd9uc/)을 시도했지만 어쩌면 단지 jsfiddle 버그 일 뿐이다. –
이 상황인가 아니면 그냥 바이올린인가 –