试图让我的决心注入到我的控制器中,以便能够注入到 HTML 中
Trying to get my Resolve to inject into my controller to be able to inject into the HTML
这是我的索引.js文件
'use strict';
angular.module('wildenglish', ['ngAnimate', 'ngTouch', 'restangular', 'ngRoute', 'ui.bootstrap'])
.config(function ($routeProvider, RestangularProvider) {
RestangularProvider.setBaseUrl('https://www.googleapis.com/calendar/v3/calendars/googleCalendarID');
$routeProvider
.when('/', {
templateUrl: 'app/main/main.html',
controller: 'MainCtrl',
resolve: {
calendarEvents: function(Restangular){
return Restangular.one('eventsAUTHKEY').get();
}
}
})
.otherwise({
redirectTo: '/'
});
})
我的主控制器呢.js
'use strict';
angular.module('wildenglish')
.controller('MainCtrl', function(Restangular, calendarEvents) {
var self = this,
events = calendarEvents,
items = events.items;
});
当我尝试在HTML中使用时,我收到的错误是:
错误: [$injector:unpr] 未知提供程序: 日历事件提供程序 <- 日历事件 <- MainCtrl
所以我试图弄清楚我如何利用我从该承诺中获取的信息,我可以登录控制台以通过控制器访问 HTML
我需要服务还是工厂?那会去哪里?
提前感谢您的帮助
将解析的承诺返回的事件分配给控制器范围。您需要更改注入控制器的特性。您可以省略 Restangular,因为您正在解决路线中的承诺,但您确实需要$scope:
angular.module('wildenglish').controller('MainCtrl', function($scope, calendarEvents) {
// i'm assuming the following logs your events to your console
// if not you're having a problem with your Restangular request
console.log(calendarEvents);
// Assign calendarEvents to your $scope
$scope.events = calendarEvents;
});
现在,您可以在 HTML 模板中使用事件(假设每个事件都有一个名为"name"的属性):
<ul>
<li ng-repeat="event in events">{{event.name}}</li>
</ul>
抱歉,我错过了上面的答案,这已经是正确的答案。
这里有一个类似的问题:
AngularJS,解析和未知提供程序
基本上,如果您使用 routeProvider 在脚本文件中分配控制器,则不能在模板中使用 ng-controller。
相关文章:
- AngularJS:这个注入我的控制器有什么问题
- 如何让javascript在Asp.Net中注入到我的布局中的视图中进行渲染
- 恶意软件将代码注入我的Dojo/WebSocket应用程序:如何防止
- 注入html标记<ul></ul>在我的<李></李>元素
- 试图让我的决心注入到我的控制器中,以便能够注入到 HTML 中
- ASP.NET:是否可以将CSS或Javascript注入到我的Web应用程序中的每个页面中
- 如何将应用商店注入我的余烬组件
- 如何防止注入的 JavaScript 文件参考代码在我的网页中运行
- Tumblr将新代码注入我的链接中
- 为什么流星不从我的模板助手中注入文本
- 如何将数据库中的 html 标签注入到我的指令的模板中,实际上是动态定义模板的根元素/标签
- 如何使我的Chrome扩展只注入一次脚本
- 获取我的设备的宽度和高度,并将它们注入到我的css样式中
- 当将服务注入(导入)到我的构造函数中时;无提供者”;错误
- 为什么可以'我的内容脚本使用了已注入的脚本
- 外部脚本已被注入到我的数据库
- 运行我的应用时,出现了Angular模块注入错误
- grunt-contrib- requires不能解析我的运行时模块注入
- 错误注入脚本在其他选项卡在我的chrome扩展
- 我的注入脚本>在目标页面's javascript之后运行,尽管使用run_at: document_start