Angular UI 导航栏折叠不起作用
Angular UI navbar collapse not working
我似乎无法使用以下代码让我的导航栏以折叠方式启动。我正在使用 Angular-ui-bootstrap:
navbar.directive.html:
<button type="button" ng-click="isCollapsed = !isCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div collapse="isCollapsed">
<ul class="nav navbar-nav">
<li>Test</li>
<li>Testing...</li>
</ul>
</div>
navbar.controller.js:
angular.module('gameApp')
.controller('NavbarController', NavbarController);
NavbarController.$inject = ['playersService'];
function NavbarController(playersService) {
var vm = this;
vm.isCollapsed = true;
var getCurrentPlayer = function() {
playersService.getCurrentPlayer().$promise.then(function(data) {
vm.player = data.player;
});
};
var init = function() {
getCurrentPlayer();
};
init();
}
当页面最小化到响应式导航栏开关出现时,菜单已经显示。即使我将其更改为 vm.isCollapsed = false;
,菜单仍然以打开状态启动。
控制器使用 this
构建以允许 controllerAs
语法,但 html 中的变量设置为使用 $scope
.
如果指令没有独立作用域,您需要在某处声明控制器的别名,并在所有变量前加上别名。
--或--
需要更改控制器以将所有变量绑定到 $scope 而不是 this
不确定如何配置指令或在视图中的何处声明控制器
我似乎无法使用以下代码让我的导航栏以折叠方式启动。我正在使用 Angular-ui-bootstrap:
navbar.directive.html:
<button type="button" ng-click="isCollapsed = !isCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div collapse="isCollapsed">
<ul class="nav navbar-nav">
<li>Test</li>
<li>Testing...</li>
</ul>
</div>
navbar.controller.js:
angular.module('gameApp')
.controller('NavbarController', NavbarController);
NavbarController.$inject = ['playersService'];
function NavbarController(playersService) {
var vm = this;
vm.isCollapsed = true;
var getCurrentPlayer = function() {
playersService.getCurrentPlayer().$promise.then(function(data) {
vm.player = data.player;
});
};
var init = function() {
getCurrentPlayer();
};
init();
}
当页面最小化到响应式导航栏开关出现时,菜单已经显示。即使我将其更改为 vm.isCollapsed = false;
,菜单仍然以打开状态启动。
控制器使用 this
构建以允许 controllerAs
语法,但 html 中的变量设置为使用 $scope
.
如果指令没有独立作用域,您需要在某处声明控制器的别名,并在所有变量前加上别名。
--或--
需要更改控制器以将所有变量绑定到 $scope 而不是 this
不确定如何配置指令或在视图中的何处声明控制器