【发布时间】:2015-09-05 20:11:27
【问题描述】:
我在一个文件 (Movie.ts) 中定义了一个工厂,如下所示:
(function () {
'use strict';
angular
.module('moviesServices', ['ngResource'])
.factory('Movie', Movie);
Movie.$inject = ['$resource'];
function Movie($resource) {
return $resource('/api/movies/:id');
}
})();
然后我尝试在另一个文件(MoviesController.ts)中使用它,注意它是TypeScript:
function MoviesAddController($scope, $location, Movie) {
$scope.movie = new Movie();
$scope.add = function () {
$scope.movie.$save(function () {
$location.path('/');
});
};
}
TypeScript 现在抱怨“new Movie();”带有错误消息“无法解析符号'电影'。”
如何将 Movie 定义为工厂? 我尝试将 Movie 导出为类,但不知道如何将工厂转换为 TypeScript 类。
这适用于 JavaScript,示例取自 this tutorial。
【问题讨论】:
-
我不是要批评,但在这些例子中没有一点 TS 的意思。您最好只使用 JS 来学习该教程,然后一旦您掌握了 Angular 的工作原理,然后开始在 TS 中编写它。 pankajparkar 链接也很好,但更多的 TS 处理方式实际上是@basarat 对这个问题的回答。
-
抱歉不清楚。我正在用 TypeScript 重写教程,以更好地理解 TypeScript。上面的 sn-ps 是 100% JavaScript,直接从教程中提取。我已经在我的 TS 文件中重写了它们(虽然可能很糟糕)。你能举个例子说明如何将两个 sn-ps 转换为 TypeScript,最好使用类吗?
标签: angularjs typescript