Nano Hash - криптовалюты, майнинг, программирование

как передать функцию в качестве аргумента другой функции в контроллере в angularjs?

Очень распространенный вопрос. помощь очень ценится !!

я не могу передать loginCtrl в качестве аргумента в SignupCtrl

Также, если есть какой-либо правильный способ сделать это, пожалуйста, предложите

вот код

     $scope.loginCtrl = function ($scope, $modalInstance) {
            $scope.cancelLogin = function () {
                $modalInstance.dismiss('cancel');
            }
        };

     $scope.signupCtrl = function ($scope, $modalInstance,loginCtrl){
$scope.close1=loginCtrl.cancelLogin;
            $scope.cancelLogin = function () {
                $modalInstance.dismiss('cancel');
            }
        };

  • как вы используете signupCtrl? 16.09.2015
  • я использую его в функции $scope.open, чтобы открыть модальное окно с помощью кнопки ng-click=open() 16.09.2015
  • простой пример вызова функции в качестве аргумента в другой функции в контроллере был бы большим подспорьем. @dfsq 16.09.2015
  • вы делаете это совершенно неправильно. Я начал писать ответ, объясняя, что использование $scope означает, что первый $scope.cancelLogin фактически перезаписывается вторым, но на самом деле это не имеет значения, потому что то, что вы описываете в комментариях к другим сообщениям, все равно не имеет смысла. Вы не можете вызывать одно диалоговое окно из другого, так как изначально у вас может быть активным только одно диалоговое окно. 17.09.2015

Ответы:


1

Привязать событие щелчка.

user.showModalDialog = function (item) {

    var obj = {
        selectedItem: item
    };
    _showModalDialog(obj);

};

Метод _showModalDialog

var _showModalDialog = function (params) {
    $modal.open({
        templateUrl: "your html template URL",
        backdrop: 'static',
        windowClass: 'modal-width-50',
        resolve: {
            params: function () { return params; }
        },
        controller: function ($scope, $modalInstance, params) {
           var user = params.selectedItem;
          // you can receive your params here in params.
          $scope.user=user;
   }

Другой способ сделать это,

var _showModalDialog = function (params) {
        $modal.open({
            templateUrl: "your html template URL",
            backdrop: 'static',
            controller: _userCtrl,
            windowClass: 'modal-width-50',
            resolve: {
                params: function () { return params; }
            }});

его контроллер в том же файле, это встроенный контроллер, вы также можете сделать это во внешнем файле.

var _userCtrl = ['$scope', '$modalInstance', 'params', function ($scope, $modalInstance, params) {
       var user = params.selectedItem;
       // you can receive your params here in params.
 $scope.user = user;
    }];

Второй подход заключается в том, что вы можете передавать данные между двумя контроллерами с помощью службы.

16.09.2015
  • спасибо kashif bhai ... я могу открыть модальное окно, но я хочу открыть модальное окно по ссылке в другом модальном окне. для этого я хочу знать, как передать функцию в качестве аргумента в другую функцию, чтобы я мог закрыть первый модальный режим и открыть другой модальный. 16.09.2015
  • Я обновил ответ, вы также можете использовать второй подход. Для вашего конкретного сценария в событии щелчка вы закрываете первое диалоговое окно и открываете другое. это довольно просто. Я надеюсь, что вы получили свой ответ, чем, пожалуйста, отметьте его как ответ :), если вы все еще сталкиваетесь с проблемой, покажите ей свою рабочую копию, я помогу, посмотрев на нее. или вы можете сделать jsfiddle . 17.09.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..