У меня есть приложение, созданное в ionic1, и мое приложение содержит шаблон с именем menu.html
и содержит <ion-side-menus>
, который загружается с другими моими шаблонами и представлениями.проблема в том, что я хочу, чтобы мои переменные в $ scope могли быть видны непосредственно в моем шаблоне menu.html
в зависимости от загруженного в данный момент драйвера.
например, в моем контроллере фактически у меня есть:
$scope.title="hello";
в menu.html
:
{{title}} (should be display "hello")
, но мои $scope
переменные не отображаются в menu.html
, если я добавлю ng-controller = "myControllerController"
, это работает, но я хочу избежать этого решения, так каксодержимое моего контроллера будет загружено дважды.и я сделал тест, поставив console.log («он загружается»), и это сообщение появляется два раза.Мне нужно, чтобы область $ меню соответствовала текущему контроллеру.
это мой код:
menu.html:
<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu-toggle="left" >
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu id="sidemenu" side="left" >
<ion-header-bar class="bar-stable">
<h1 class="title">{{title}}</h1> <!-- title -->
</ion-header-bar>
<ion-content>
<ion-list>
<ion-item menu-close href="#/app/productos">
Registro
</ion-item>
<ion-item menu-close href="#/app/buscar">
Buscar
</ion-item>
<ion-item menu-close href="#/app/ubicaciones">
Ubicación
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
фактический контроллер: myControllerController.js
tinApp.controller('myControllerController', function($scope) {
$scope.title="hello";
});
App.js:
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html'
})
.state('app.view1', {
url: '/view1',
views: {
'menuContent': {
templateUrl: 'templates/view1.html',
controller: 'myControllerController'
}
}
})