javascript - 出现错误,无法读取未定义的哈希值

标签 javascript jquery angularjs

我正在尝试在我的主页上添加 MaterializeCSS 选项卡。要初始化它,我必须使用

$('ul.tabs').tabs();

在文档准备好该行后,出现错误

TypeError: Cannot read property 'hash' of undefined

下面是我的代码:

'use strict'

angular
    .module('app')
    .controller('HomeController', HomeController);

HomeController.$inject = ['$rootScope','$scope'];

function HomeController($rootScope,$scope) { 
    var vm = this;
    vm.title = "Supreme Kinetic";
    $rootScope.home_default = true;
    vm.tab_menu =   [
                        {name:'Chair',disabled:'',active:'',id:'chair', icon:'event_seat'},
                        {name:'Electric Kettle',disabled:'',active:'active',id:'electric_kettle',icon:'opacity'},
                        {name:'Cutleries',disabled:'',active:'',id:'cutleries', icon:'card_travel'},
                        {name:'Reward',disabled:'disabled',active:'',id:'reward', icon:'redeem'}
                    ];

    angular.element(document).ready(function () {
        $('ul.tabs').tabs();
    });
}

home.html

<ul class="tabs">
    <li class="tab col s3 {{tab.disabled}}" ng-repeat="tab in vm.tab_menu"><a class="{{tab.active}}" href="#{{tab.id}}"><i class="material-icons tab_icon">{{tab.icon}}</i><div class="tab_text">{{tab.name}}</div></a></li>
</ul>
<div ng-repeat="tab in vm.tab_menu" id="{{tab.id}}">
    <div class="row">
        <div class="card col l3">
            {{tab.name}}
        </div>
    </div>
</div>

我已经通过使用 angular.element(document).ready 以及 $scope.$on('$viewContentLoaded', function() 加载方式搜索了许多解决方案 但两者都给出了相同的错误。我做错了什么?

最佳答案

我找到了一个对我有用的修复程序。我将以下内容添加到我的 Controller 中:

$scope.$on('$includeContentLoaded', function() {
  // run any jQuery
  angular.element('ul.tabs').tabs();
});

关于javascript - 出现错误,无法读取未定义的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34192776/

相关文章:

javascript - 按名称迭代选择对象

javascript - 如何正确使用通过Firebase身份验证获得的Facebook token ?

javascript - 使用 Javascript 动态更改 View

angularjs - 从 http.post 获取返回值

javascript - 如何使动画关闭与打开相同

javascript - 模态内可扩展文本的 CSS 问题

javascript - 表单进度条

jquery - 手动定位 Fancybox 2

css - 如何使用 Visual Studio Code(在 Mac 上)禁用 HTML 文件的 CSS 错误

json - AngularJS:如何在应用加载之前加载json feed?