我有一个TypeScript/Angular 2 Observable,在我第一次调用它时效果很好.但是,我有兴趣将多个订阅者附加到同一个observable,并以某种方式刷新可观察的和附加的订阅者.这是我得到的:
query(): Rx.Observable<any> {
return this.server.get('http://localhost/rawData.json').toRx().concatMap(
result =>
result.json().posts
)
.map((post: any) => {
var refinedPost = new RefinedPost();
refinedPost.Message = post.Message.toLowerCase();
return refinedPost;
}).toArray();
}
Run Code Online (Sandbox Code Playgroud)
假设有一个刷新按钮,当按下该按钮时,重新执行此observable,并且连接到它的任何订阅者都会获得一组更新的数据.
我怎么能做到这一点?
无论如何,ASP.NET DropDownList中的项目的Text或Value是否绑定到源上的方法而不是属性?
这是我试图做的代码:
public IList<IOperator> GetAll()
{
using (var c = new MyDataContext())
{
return c.Operators.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
运算符实现IOperator,但我收到以下编译错误:
Cannot implicitly convert type 'System.Collections.Generic.List<MyProject.Core.Operator>' to 'System.Collections.Generic.IList<MyProject.Core.Model.IOperator>'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能得到我需要的东西?
我正在使用TypeScript 0.8.2和https://github.com/borisyankov/DefinitelyTyped/tree/master/jquery中的最新JQuery 1.9 .d.ts定义
为了隔离问题,我有一个简单的TypeScript类定义,它尝试使用.when()和.then()语法进行单个$ .ajax调用.这是我的代码:
/// <reference path="../../jquery.d.ts" />
module Demo {
// Class
export class TestDeferred {
// Constructor
constructor() {
$.when(this.testAjaxCall()).then((data, status, jqXHR: JQueryXHR) => {
alert(jqXHR.statusText);
});
$.when($.ajax("test.htm")).then(() => {
console.log("yay");
});
}
testAjaxCall() {
return $.ajax("Test.aspx");
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这两个测试用例中,我得到一个编译时错误,上面写着:
提供的参数与调用目标的任何签名都不匹配,红色波浪形在.when()方法的第一个参数上.他是截图:

据我所知,.d.ts文件中的.when()方法具有.when(options:any)的重载,而.ajax定义为JQueryXHR类型,它实现了JQueryPromise接口.
理论上,这应该可以正常工作,因为它反映了.when()http://api.jquery.com/jQuery.when/的jQuery文档.
$.when( $.ajax("test.aspx") ).then(function(data, textStatus, jqXHR){
alert( jqXHR.status ); // alerts 200
});
Run Code Online (Sandbox Code Playgroud)
那我错过了什么?我有什么不对吗?
typescript ×2
angular ×1
asp.net ×1
casting ×1
data-binding ×1
interface ×1
javascript ×1
jquery ×1
linq ×1
rxjs ×1