我的模板引导包含JS,因为它们被称为JS没有被执行,你有一个想法。
这是我的Index.html
<body ng-app>
<ng-include src="'sidebar.html'"></ng-include>
<ng-include src="'navbar.html'"></ng-include>
</body>
我的navbar.html
<header class="navbar navbar-inverse" role="banner">
<button type="button" id="menu-toggler">
...
</button>
在我的模板库中有 - theme.js
$("#menu-toggler").click(function (e) {
$("body").toggleClass("menu");
e.stopPropagation();
});
当在Body元素中有'menu'类时,CSS显示侧边栏
谁知道它为什么不显示? (Demo jsfiddle)
答案 0 :(得分:1)
不要像使用jQuery一样使用Angular;将ng-class
添加到<body>
,将ng-click
添加到您的按钮并处理来自Angular的事件:
<body ng-class="{'menu': bodyIsMenu} ng-controller="Ctrl">
...
<button ng-click="toggle()">...</button>
...
</body>
注意我将控制器放在正文中,以便toggle()
和bodyIsMenu
位于同一范围内。 JS:
function Ctrl($scope) {
$scope.bodyIsMenu = false;
$scope.toggle = function() {
$scope.bodyIsMenu = !$scope.bodyIsMenu;
};
}
同样非常有趣的阅读here。