【发布时间】:2015-12-29 01:29:25
【问题描述】:
我正在使用 Angular.js 构建一个简单的网页。在浏览器(Chrome)中打开网页时,页面以原始角度表达式呈现,如下所示
在重新加载页面(有时 2 - 3 次)时,Angular 表达式会被评估并正确呈现,如下所示
当这两种情况发生时,没有特定的模式。可能的原因是什么?
控制器文件
(function(){
var userRole = angular.module('userRoleController', []);
userRole.controller('userRoleDisplayController', function(){
this.userRoles = userRolesList;
this.selectedRole = 0;
this.selectRole = function(roleID){
this.selectedRole = roleID;
};
this.isSelectedRole = function(roleID){
console.log(roleID);
console.log(this.selectedRole === 0 ? true : this.selectedRole === roleID);
return this.selectedRole === 0 ? true : this.selectedRole === roleID;
};
this.showRoleExpander = function(){
return this.selectedRole
};
this.expandAllRoles = function(){
this.selectedRole = 0;
};
});
userRole.directive('userLogin', function(){
return{
restrict: 'E',
templateUrl: '../../views/template/login.html'
};
});
var userRolesList = [
{
role_id: 1,
role_type: 'Student'
},
{
role_id: 2,
role_type: 'Admin'
}];
})();
index.js 文件
(function(){
var home = angular.module('home', ['userRoleController']);
})();
html文件
<body ng-app='home'>
<header>
</header>
<aside class='users' ng-controller='userRoleDisplayController as roleDispCtrl'>
<ul>
<li class='roles' ng-repeat='userRole in roleDispCtrl.userRoles' ng-show='roleDispCtrl.isSelectedRole(userRole.role_id)'
ng-click='roleDispCtrl.selectRole(userRole.role_id)'>
{{userRole.role_type}}
</li>
<li ng-show="roleDispCtrl.showRoleExpander()">
<user-login>
</user-login>
</li>
<li class="roleExpander" ng-show="roleDispCtrl.showRoleExpander()" ng-click="roleDispCtrl.expandAllRoles()">
</li>
</ul>
</aside>
<main>
</main>
<script charset="utf-8" async defer src="../scripts/JS Frameworks/angular.min.js"></script>
<script charset="utf-8" async defer src="../scripts/index.js"></script>
<script charset="utf-8" async defer src="../scripts/controllers/userRoleController.js"></script>
</body>
【问题讨论】:
-
查看原始格式显示表达式时控制台是否有错误
-
感谢 manoj。在控制台中出现此错误 -> 无法实例化模块主页,原因是:错误:[$injector:nomod] errors.angularjs.org/1.4.8/$injector/nomod?p0=home at Error (native)
-
我是使用 Angular 的新手。你能解释一下是什么原因造成的吗?
-
当你在声明它之前尝试访问模块“home”。请参阅docs.angularjs.org/error/$injector/nomod 了解此错误详细信息。如果您仍然面临同样的问题,请在您声明模块的地方发布代码。
-
从我读到的,看起来我正在按照它所说的方式做。我做错了什么我在文档中忽略了?
标签: angularjs rendering webpage-rendering