我试图将下面的Angular 1代码转换成Angular 2: $http.jsonp('https://accounts.google.com/logout'); 它需要是一个JSONP请求来跳过CORS策略问题。
我怎样才能创build自定义组件,就像本地<input>标签一样工作? 我想让我的自定义窗体控件能够支持ngControl,ngForm,[(ngModel)]。 据我所知,我需要实现一些接口,使自己的窗体控制工作就像本地一样。 此外,似乎像ngForm指令只绑定<input>标记,是这样吗? 我该如何处理? 让我解释一下为什么我需要这个。 我想包装几个input元素,使他们能够作为一个单一的input工作在一起。 有没有其他的方式来处理呢? 还有一次:我想把这个控件做成像本地控件一样。 validation,ngForm,ngModel双向绑定等。 ps:我使用Typescript。
我不确定在TypeScript中处理“this”范围的最佳方法。 下面是我转换到TypeScript的代码中的一个常见模式的例子: class DemonstrateScopingProblems { private status = "blah"; public run() { alert(this.status); } } var thisTest = new DemonstrateScopingProblems(); // works as expected, displays "blah": thisTest.run(); // doesn't work; this is scoped to be the document so this.status is undefined: $(document).ready(thisTest.run); 现在,我可以改变电话… $(document).ready(thisTest.run.bind(thisTest)); …哪些工作。 但有点可怕 这意味着在某些情况下代码都可以编译并正常工作,但是如果我们忘记绑定范围,它将会中断。 我想要一种方法在课堂上做,所以当使用这个类时,我们不需要担心“this”的作用范围。 有什么build议么? 更新 另一种可行的方法是使用胖箭头: class DemonstrateScopingProblems { private […]
我很难尝试导入lodash模块。 我已经使用npm + gulp设置了我的项目,并保持击中相同的墙。 我已经尝试了常规的lodash,但也喜欢。 lodash npm包:(在包根文件夹中有一个index.js文件) import * as _ from 'lodash'; 结果是: error TS2307: Cannot find module 'lodash'. lodash-es npm软件包:(在lodash.js中有一个默认的导出文件,我是软件包的根文件夹) import * as _ from 'lodash-es/lodash'; 结果是: error TS2307: Cannot find module 'lodash-es'. gulp任务和webstorm都报告同样的问题。 有趣的是,这个返回没有错误: import 'lodash-es/lodash'; …但是当然没有“_”… 我的tsconfig.json文件: { "compilerOptions": { "target": "es5", "module": "system", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": […]
我试图让我的第一个Typescript和DefinitelyTyped节点应用程序启动并运行,并遇到一些错误。 当我尝试传输一个简单的ts节点页时,出现错误“TS2304:找不到名称'require'”。 我已经读过了这个错误的其他几个事件,我不认为我有类似的问题。 我在shell提示符下运行命令:tsc movie.server.model.ts。 这个文件的内容是: 'use strict'; /// <reference path="typings/tsd.d.ts" /> /* movie.server.model.ts – definition of movie schema */ var mongoose = require('mongoose'), Schema = mongoose.Schema; var foo = 'test'; var mongoose = require('mongoose')行会引发错误 typings / tsd.d.ts文件的内容是: /// <reference path="node/node.d.ts" /> /// <reference path="requirejs/require.d.ts" /> .d.ts文件引用被放置在适当的文件夹中,并通过以下命令添加到typings / tsd.d.ts中: tsd install node –save tsd install […]
我从AJAX调用收到一个JSON对象到REST服务器。 这个对象有属性名称匹配我的打字稿类(这是这个问题的后续)。 什么是最好的方式来初始化它? 我不认为这将工作,因为类(&JSON对象)的成员是对象和成员是类的列表,这些类的成员是列表和/或类。 但我更喜欢一种查找成员名称并将它们分配给对象的方法,根据需要创build列表和实例化类,所以我不必为每个类中的每个成员编写明确的代码(有很多!
为什么在这个简单的组成部分 @Component({ selector: 'my-app', template: `<div>I'm {{message}} </div>`, }) export class App { message:string = 'loading :('; ngAfterViewInit() { this.updateMessage(); } updateMessage(){ this.message = 'all done loading :)' } } 投掷: EXCEPTION:检查后,expression式“我在App @ 0:5中{{message}}”已被更改。 上一个值:'我正在加载:('。当前值:'我都加载完成了:)'[我是{{message}}在App @ 0:5] 当我所做的是更新一个简单的绑定,当我的观点开始?
我有一些代码: baseTypes.ts export module Living.Things { export class Animal { move() { /* … */ } } export class Plant { photosynthesize() { /* … */ } } } dog.ts import b = require('./baseTypes'); export module Living.Things { // Error, can't find name 'Animal', ?? export class Dog extends Animal { woof() { } } […]
我需要在用户login后为每个后续请求设置一些授权标头。 信息: 要为特定请求设置标题, import {Headers} from 'angular2/http'; var headers = new Headers(); headers.append(headerName, value); // HTTP POST using these headers this.http.post(url, data, { headers: headers }) // do something with the response 参考 但以这种方式为每个请求手动设置请求标头是不可行的。 如何在用户login后设置标题集,并在注销时删除这些标题?
我在Angular 2遇到了HTTP问题。 我只想GET一个JSON列表并在视图中显示它。 服务类 import {Injectable} from "angular2/core"; import {Hall} from "./hall"; import {Http} from "angular2/http"; @Injectable() export class HallService { public http:Http; public static PATH:string = 'app/backend/' constructor(http:Http) { this.http=http; } getHalls() { return this.http.get(HallService.PATH + 'hall.json').map((res:Response) => res.json()); } } 在HallListComponent我从服务中调用getHalls方法: export class HallListComponent implements OnInit { public halls:Hall[]; public _selectedId:number; constructor(private _router:Router, […]