角度状态的问题和解决方案
Problems with Angular state and resolve
我正在学习平均堆栈,在Angular和路由方面遇到了麻烦。我有一个javascript文件,下面列出了它,其中包含app.config模块中的路由代码。
var app = angular.module('doorSensorReadings', ['ui.router']);
app.factory('readings', ['$http', function($http){
var o = {
readings: []
};
o.getAll = function() {
alert("test");
};
}])
app.controller('MainCtrl', ['$scope', 'readings', function($scope, readings){
$scope.readings = readings.readings;
$scope.addReading = function(){
$scope.readings.push({id: 2, name:"Door 4", open: true})
}
}]);
app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl',
resolve: {
Promise: ['readings', function(readings){
return readings.getAll();
}]
}
});
$urlRouterProvider.otherwise('home');
}]);
当页面加载时,我希望它在app.factory中激发代码,并发送一个警告框,上面写着test。我不明白为什么没有调用代码,并且在加载页面时没有收到任何错误。现在它只是加载一个空白页面。"ejs"文件如下所示:
<html>
<head>
<title>My Angular App!</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.10/angular-ui-router.js"></script>
<script src="javascripts/angularApp.js"></script>
</head>
<body ng-app="doorSensorReadings">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<ui-view></ui-view>
</div>
</div>
<script type="text/ng-template" id="/home.html">
<div class="page-header">
<h1>Door Sensor</h1>
<div ng-repeat="reading in readings">
{{reading.id}}, {{reading.name}}, {{reading.open}}
</div>
<button ng-click="addReading()">Post</button>
</div>
</script>
</body>
</html>
如果您对加载页面时未触发警报的原因提出任何建议,我们将不胜感激。
您应该从factory
返回o
,就像工厂返回对象一样。
app.factory('readings', ['$http', function($http){
var o = {
readings: []
};
o.getAll = function() {
alert("test");
};
return o;
}])
相关文章:
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- iPad虚拟键盘-哪一个-javasctript解决方案
- AJAX HTTP基本身份验证解决方案
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- Chart.js-添加渐变而不是纯色-实现解决方案
- learnyounode杂耍异步解决方案不工作
- jQuery通过步骤的自排队循环来解决延迟问题
- 我该如何解决这个问题?“未捕获的类型错误:无法读取 null 的属性'appendChild'”
- MathJax正在复制我的方程式——为什么以及如何解决这个问题
- 了解因子分解解决方案
- 提交表单后的最佳解决方案
- 计时器在使用 jQuery 一分钟后没有触发,或者每 1 分钟后给出一些其他解决方案来触发功能
- JS驱动的常见问题页面的推荐DB解决方案
- TypeError:$(..).higharts不是函数-现有解决方案不起作用-Yeoman生成器存在问题
- 自定义 PHP/JS 分析解决方案问题
- 角度状态的问题和解决方案
- 与其他解决方案相比,内置的ng表分页在性能上存在问题
- Cordova导出的Construct 2游戏音频问题的实现解决方案
- Iframe滚动问题.解决方案是什么
- Knockout扩展问题-更好的解决方案