我正在学习角度,选择了一个视频课程和一本pdf书,现在我对“出口”关键字的使用感到困惑...
两门课的一个例子来展示我的困惑...我只需要朝正确的方向快速踢一脚,就能克服这个小障碍。
Visual Studio 2017
示例项目使我在clientapp/app文件夹中创建了一个接口文件夹,并在其中放置了一个接口“answer.ts”。这是没有关键字“导出”。
interface IAnswer {
Id: number;
QuestionId: number;
Text: string;
Value: number;
}
import { Component, Inject, Input, OnChanges, SimpleChanges } from "@angular/core";
import { Router } from "@angular/router";
import { HttpClient } from "@angular/common/http";
@Component({
selector: "answer-list",
templateUrl: "./answer-list.component.html",
styleUrls: ["./answer-list.component.css"]
})
export class AnswerListComponent implements OnChanges {
@Input() question: IQuestion;
answers: IAnswer[];
title: string;
constructor(private http: HttpClient,
@Inject("BASE_URL") private baseUrl: string,
private router: Router) {
this.answers = [];
}
ngOnChanges(changes: SimpleChanges) {
if (typeof changes['question'] !== "undefined") {
//alert(1);
// retrieve the question variable change info
var change = changes['question'];
// only perform the task if the value has been changed
if (!change.isFirstChange()) {
// execute the Http request and retrieve the result
this.loadData();
}
}
}
loadData() {
var url = this.baseUrl + "api/answer/All/" + this.question.Id;
this.http.get<IAnswer[]>(url).subscribe(res => {
this.answers = res;
}, error => console.error(error));
}
}
export class Recipe {
constructor(public name: string, public description: string, public imagePath: string){
}
}
import { Recipe } from "../../recipes/recipe.model";
@Injectable()
export class DataStorageService {
getRecipes(){
//get a authentication token
const token = this.authService.getToken();
const tokenQuery = '?auth=' + token
this.http.get(this.recipesNode + tokenQuery)
.pipe(
map(
(response: Response) => {
//we saved array of recipes
const recipes: Recipe[] = response.json();
return recipes;
}
)
)
.subscribe(
(recipes: Recipe[]) => {
this.recipeService.setRecipes(recipes);
}
);
}
}
它取决于项目中的compileroptions
集。您可以强制系统期待或不期待export
。通常,这个决定是根据以下问题做出的:是使用WebPack、Browserify还是其他模块化加载器,还是只想将给定的*.ts-文件转换为*.js-文件。请看一下这个帖子:
未定义TypeScript导出
我今天在这里是因为我有一个问题,就像标题所说的,关于Angular中的类和接口。 在我看来,我理解这一点: 接口在Typescript中用于执行类型检查,它们一直在这里,直到发生转换并在生产中消失。此外,接口不能用于实例化。 来自ES6的类也用于类型检查,但它们会在转换后保留,并在生产中生成代码。此外,它们还用于实例化。 所以,基本上,若我们在生产中不需要它们,若我们只需要进行类型检查,那个么接口
在使用Typescript时,我意识到模块中的类(用作命名空间)对于其他类是不可用的,除非我在它们前面写了关键字,例如: 但是,我只是想知道为什么使用这个关键字而不是仅仅使用关键字,后者在方法级别用于表示方法或属性应该是外部可访问的。那么,为什么不直接使用这种机制来使类和接口等外部可见呢? 这将给出如下代码:
使(或其他集合)成为final的优点/缺点是什么?如果我们尝试这样做呢: 这是有效的吗?现在引用A将指向L所指向的这个数组列表?请帮帮忙。
问题内容: 如果声明变量而不使用“ var”,则变量始终变为GLOBAL。 在函数内部声明全局变量是否有用?我可以想象在某个事件处理程序中声明一些全局变量,但这有什么用呢?更好地使用RAM? 问题答案: 不,没有RAM好处或类似的好处。 w3schools谈论的是我所说的“内隐全球性恐怖” 。考虑以下功能: 看起来很简单,但是由于线路上的错字,它返回,而不是。并创建一个带有输入错误名称的全局变量:
问题内容: 渲染时捕获到异常: 找不到带有参数’()’和关键字参数’{}’的’products.views.’filter_by_led’。 我能够从shell成功导入,并且可以正常工作,因此路径应该正确。 这是urls.py: 这是生成错误的地方: 我不明白,因为这可以在同一个文件中正常工作: 这是函数定义: 我不明白为什么Django会认为该函数无法为该函数找到Reverse。 我删除了所有文
s代表“hi”,s1代表hi所在的内存位置? 请帮帮忙?