【发布时间】:2014-01-30 23:30:33
【问题描述】:
所以我有一个控制器和一个提供程序,我试图将一个值从提供程序传递给控制器,没什么太复杂的。我已经通过了几个关于此的 tuts 和论坛主题,但没有 e=suggestions 有效。最糟糕的是,我的控制台也没有出现任何错误,只是一个空白页。我确信这是我缺少的一些愚蠢的小东西,但我很难过。
var app = angular.module('myApp', ['ngRoute']);
app.controller('SettingsCtrl', function($scope, Stocks) {
$scope.stock = Stocks;
});
app.provider('Stocks', function() {
this.name = 'some name';
this.$get = function() {
this.name = 'Ford Motors'
return this.name;
};
});
app.config(function($routeProvider) {
$routeProvider
.when('/settings', {
templateUrl: 'templates/settings.html',
controller: 'SettingsCtrl'
})
.otherwise({redirectTo: '/'});
});
HTML
<!doctype html>
<html data-ng-app="myApp" data-ng-csp="">
<head>
<meta charset="UTF-8">
<title>Presently</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<div ng-view></div>
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/app.js"></script>
</body>
</html>
settings.html
<div class="container">
<div class="stock_name">{{stock.name}}</div>
</div>
【问题讨论】:
-
试试
app.controller('SettingsCtrl',['$scope','Stocks', function($scope, Stocks){}]) -
@PatrickEvans 这只会导致缩小代码出现问题,但即便如此它也会引发错误(未知提供者)。
-
@IlanFrumer "使用内联括号表示法,它将要注入的函数包装到一个字符串数组中(代表依赖项名称),然后是要注入的函数:" a note about minification 至于可能是真的未知提供者,我认为它们会像指令和服务一样被包含进来
标签: javascript angularjs model-view-controller controller