【发布时间】:2025-12-29 16:25:11
【问题描述】:
我在后端使用timetable.js 以及一个角度路由器和firebase。我的代码如下所示:
这是角度路由到的html文件:
<div class="timetable" ng-init="initTimetable()"></div>
这是我处理该路由器所有功能的文件:
myApp.controller('myController', function($scope) {
$scope.initTimetable = function() {
var timetable = new Timetable();
timetable.setScope(8, 14);
timetable.addLocations(['Place 1', 'Place 2', 'Place 3']);
timetable.addEvent('Homework', 'Place 1', new Date(2016,9,10,11,45), new Date(2016,9,10,12,30));
var renderer = new Timetable.Renderer(timetable);
renderer.draw('.timetable');
};
});
我现在要做的是在该控制器之外运行该 timetable.addEvent() 函数。
我希望有人理解,我正在尝试做什么并且可以帮助我。
谢谢!
【问题讨论】:
-
你是从 Angular(服务、控制器、指令)内部调用 timetable.addEvent() 吗?
-
我尝试的是从另一个 js 文件中调用时间表变量,但没有成功。
-
你可以在指令中使用 timetable.addEvent() 通过从 dom 传递值
-
您在控制器中做的太多.控制器应该只被视图利用。尝试不这样做很可能会导致您陷入无法扩展的混乱。
-
@ojuskulkarni 这也不起作用,因为我需要获取我的 firebase 值。不过谢谢你的回答。
标签: javascript angularjs angular-controller