gpt4 book ai didi

javascript - Angular 状态的问题及解决方案

转载 作者:行者123 更新时间:2023-11-27 23:34:30 24 4
gpt4 key购买 nike

我正在学习平均堆栈,并且被 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 中的代码并发送一个显示测试的警报框。我无法弄清楚为什么代码没有被调用,并且在加载页面时没有收到任何错误。现在它只是简单地加载一个空白页面。下面列出了“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;
}])

关于javascript - Angular 状态的问题及解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34232139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com