Этот код был написан с использованием angularJS и Bootstrap 3.1.1.
HTML-код релевантности:
<a href="" ng-hide="readonly" ng-click="chooseChemicalPopup(stepIndex,$index)">
{{constituent.chemical.name}}
<span ng-show="constituent.chemical.name">(edit)</span>
<span ng-hide="constituent.chemical.name>(click to choose) </span>
</a>
Функция JavaScript, которая вызывается в результате «ng-click»:
$scope.chooseChemicalPopup = function (stepIndex, constituentIndex) {
var modalInstance = $uibModal.open({
templateUrl: '/views/templates/pick-chemical-popup.html',
controller: 'ChooseChemicalPopupCtrl',
size: '',
resolve:
{
chemicals: function () {
return $scope.chemicals;
},
selected: function ()
{
return {
chemical: $scope.record.steps[stepIndex].constituents[constituentIndex].chemical
};
}
}
});
modalInstance.result.then(function (selectedItem) {
$scope.record.steps[stepIndex].constituents[constituentIndex].chemical = selectedItem;
});
});
Контроллер:
angular.module('cpdApp').controller(
'ChooseChemicalPopupCtrl', function($scope, $uibModalInstance,chemicals,selected) {
$scope.chemicals = chemicals;
$scope.selected = selected;
$scope.ok - function() {
$uibModalInstance.close($scope.selected.chemical);
};
$scope.cancel = function() {$uibModalInstance.dismiss('cancel'); };
});
Я установил точку останова в функции JavaScript.Функция chooseChemicalPopup действительно выполняется, но ChooseChemicalPopupCtrl не выполняется, и всплывающий HTML-код никогда не появляется.Кто-нибудь видит что-нибудь очевидное?Я унаследовал этот код, поэтому не могу ответить ни на что.Я скажу вам, что в этом коде есть ровно два всплывающих окна, и ни одно из них не появляется.Как ChooseChemicalPopup, так и ChooseChemicalPopUpCtrl находятся в одном и том же файле Javascript.Я публиковал это раньше, не упоминая контроллер, который, кажется, никогда не запускается, и теперь я изменил пост, чтобы добавить эту проблему.Спасибо за ваше время.Я не очень хорошо знаю AngularJS или Bootstrap, так что нет проблем, на которые можно было бы обратить внимание.