我有一个在 ionic1 中制作的应用程序,我的应用程序包含一个名为的模板menu.html
,它包含一个<ion-side-menus>
加载了我的其他模板和视图的模板。问题是我希望我的 $scope 中的变量可以直接在我的模板中看到,menu.html
具体取决于当前加载的驱动程序。
例如在我的控制器中,我有:
$scope.title="hello";
在menu.html
:
{{title}} (should be display "hello")
但是
如果我添加它,我的$scope
变量不会显示,但我想避免这个解决方案,因为我的控制器的内容将被加载两次。我已经完成了测试,放置了一个 console.log(“它加载”),这条消息出现了两次。我需要菜单的 $scope 是根据当前控制器。menu.html
ng-controller = "myControllerController"
这是我的代码:
菜单.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";
});
应用程序.js:
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html'
})
.state('app.view1', {
url: '/view1',
views: {
'menuContent': {
templateUrl: 'templates/view1.html',
controller: 'myControllerController'
}
}
})