1

Я разрабатываю ионное приложение, а при использовании углового для входа в систему мой контроллер вызывается дважды, Я просмотрел все остальные похожие вопросы, но не нашел решения ,Угловой контроллер JS, вызываемый дважды (ng-controller)

Проблема даже в том, что я удаляю ng-controller="LoginCtrl as lgnCtrl" Я получаю свой контроллер один раз, но без двусторонней привязки данных.

вот мой маршрут файла:

$stateProvider 
.state('login', { 
    url: "/login", 
    views: { 
    'main': { 
     templateUrl: "app/user/loginView.html", 
     controller: "LoginCtrl", 
     controllerAs: "lgnCtrl" 
    } 
    } 
}) 

    $urlRouterProvider.otherwise('/login'); 

вот мой контроллер

angular.module('starter.controllers') 
.controller('LoginCtrl', LoginCtrl); 

function LoginCtrl($state, $storage, $translate, $ionicPopup, LoginService, messageService) { 
    var lgnCtrl = this; 
    console.log("user dash 1zz"); 
    return lgnCtrl; 
} 

и вот мое мнение: loginView.html:

<ion-view view-title="loginView" id="signinBlk"> 
    <ion-content> 
     <div class="list list col span_1_of_2 " ng-controller="LoginCtrl as lgnCtrl"> 
    </div> 
    </ion-content> 
</ion-view> 

index.html:

<body ng-app="starter"> 
    <ion-nav-view name="main"></ion-nav-view> 
</body> 

ответ

5

, если вы уже определить контроллер в пути вам не нужно определить контроллер в шаблоне HTML удалить атрибут нг-контроллер с шаблоном формы HTML значения, а затем запустить его будет выполняться только один раз

+0

Но проблема в том, что я делаю то, что у меня больше нет двух диапазонов waydata: мой 'ng-click' не попал в контроллер, и я не могу получить область управления – Akram

+0

, потому что ваш маршрут config управляет всеми вещами, которые вы есть как имя не беспокоился – Ahmer

+0

извините, я не понял. Я имею в виду, что когда я удаляю ng-контроллер, ng-click не запускается в контроллере и не выполняет функцию click. поэтому что делать? – Akram

0

Вместо этого

нг-контроллер = «LoginCtrl в lgnCtrl»

в HTML, мы можем иметь это в контроллере, когда маршрут определяется с контроллером, например, в контроллере, он будет идти, как это

$routeProvider 
     .when("/", { templateUrl: "views/abc.html", controller: "LoginCtrl as lgnCtrl", caseInsensitiveMatch: true }); 

Работала как шарм

Функции в контроллере вызываются только один раз.

Смежные вопросы