2015-03-26 4 views
1

Я работаю над приложением, использующим Ionic Framework, и у меня возникают проблемы с попыткой использовать Angular-ui router. Первый блок кода ниже отлично функционирует. Однако, как только я удалю ng-controller="LoginController as login" и переместим его в controller и controllerAs атрибутов на моем маршруте, ни один из угловых кодов в моем представлении больше не работает. Я думал, что понял маршрут, но эта проблема меня отключает.Угловой-UI-маршрутизатор, не работающий в приложении Ionic

приложение/Войти/login.html:

<ion-view view-title="Login"> 
    <ion-content ng-controller="LoginController as login"> 

    Email: <input type="text" ng-model="login.email"> 
    Password: <input type="text" ng-model="login.password"> 

    <br><br> 

    <button ng-click="login.createUser()">Create User</button> 

    <br><br> 

    <button ng-click="login.removeUser()">Remove User</button> 

    <p ng-if="login.message">Message: <strong>{{ login.message }}</strong></p> 
    <p ng-if="login.error">Error: <strong>{{ login.error }}</strong></p> 
    </ion-content> 
</ion-view> 

Код, который, кажется, "разорвать" мой взгляд, app.config.js:

angular 
    .module('app') 
    .config(function($stateProvider, $urlRouterProvider) { 
    $stateProvider 

    .state('app', { 
     url: '/app', 
     abstract: true, 
     templateUrl: 'app/layout/menu.html' 
    }) 

    .state('login', { 
     url: '/login', 
     templateUrl: 'app/login/login.html', 
     controller: 'LoginController', 
     controllerAs: 'login' 
    }) 
... 
+0

мог вы делитесь с нами своим сообщением об ошибке? – eugene

+1

@eugene, на самом деле не было сообщения об ошибке. Страница выполнена отлично, но все угловые коды были «отключены» из-за отсутствия лучшего термина. Никакие привязки или функции, подключенные к контроллерам, не будут работать. Кончик ниже решил его, установив контроллер на 'loginController as login'. – MattDionis

ответ

5

попробовать

.state('login', { 
    url: '/login', 
    templateUrl: 'app/login/login.html', 
    controller: 'LoginController as login' 
}) 
+1

Спасибо, что решил! Нечетная проблема, поскольку я думал, что настройка «controllerAs» была правильной. – MattDionis

+0

это правильный способ, но в настоящее время он не поддерживается в Ionic –

+0

Спасибо, что исправил его. Но не могли бы вы объяснить, почему контроллер дважды вызывался? – avck

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