jQuery Smart Menus在Angularjs中不起作用

时间:2016-03-12 22:11:12

标签: javascript jquery html css angularjs

我已将此代码放入Html主管部分:

<script src="lib/smart-menus/jquery.smartmenus.min.js"></script>
<script type="text/javascript">
        $(function() {
            $('#main-menu').smartmenus({
                subMenusSubOffsetX: 1,
                subMenusSubOffsetY: -8
            });
        });
</script>
<link href="lib/smart-menus/sm-core-css.css" rel="stylesheet" />
<link href="lib/smart-menus/sm-blue.css" rel="stylesheet" />

和身体:

<nav id="main-nav" role="navigation">
        <div id="main-menu" class="sm sm-rtl sm-blue">
            <ul>
                <li><a ui-sref="site.home">Home</a></li>
                <li ng-repeat="menu in menus">
                    <a href='#'>{{menu.Title}}</a>
                    <ul ng-show="getHasSubMenus(menu)">
                        <li ng-repeat="subMenu in menu.SubMenus">
                            <a ui-sref="site.shopbycategory({ departmentID: subMenu.DepartmentID , categoryID: subMenu.CategoryID, searchTerm: '' })">
                                {{subMenu.Title}}
                            </a>
                        </li>

                    </ul>
                </li>
                <li><a ui-sref="site.contact">Contacts</a></li>
            </ul>
        </div>
    </nav>
我在页面控制器中的

 function siteController($scope, $location, $rootScope, Account, $state, $stateParams, Site, $timeout) {

    $timeout(function () {            
        $scope.getMenus(function () { // OnSuccess                 
            $('#main-menu').smartmenus('refresh');                
        });
    }, 1);}

此外,我在其他脚本之前包含了jQuery 1.12。我可以验证angularjs已经使用IE中的F12将所有菜单添加到主菜单div中,但页面中没有任何内容,我也没有从这些代码中获得任何错误。我的代码是否正确?

1 个答案:

答案 0 :(得分:1)

我改变了:

<div id="main-menu" class="sm sm-rtl sm-blue">
        <ul>

为:

<ul id="main-menu" class="sm sm-rtl sm-blue">

现在顶级链接工作和子菜单尽管没有显示。