所以我看到KendoUI包含了一个与Knockout.js集成的例子:http://demos.kendoui.com/web/integration/index.html
然而,这看起来像一个非常简单的例子.
根据这篇文章,它看起来像绑定到像剑道的网格将更多涉及:http: //www.kendoui.com/forums/ui/grid/knockoutjs-example-for-grid.aspx
它看起来好像正在创建自己的MVVM实现来尝试解决问题.
有没有人使用KendoUI和Knockout.js使用一些更复杂的组件的非平凡应用程序?
我从服务器获取一个json对象并填充我的视图.然后我更改数据,将其推回服务器.然后我获取数据的新副本,希望它会刷新我的视图并进行任何更改.然而,这不会发生.TIA
$(document).ready(function() {
var customer_id = get_customer_id();
var data = load_model();
contract_model = ko.mapping.fromJS(data,{});
ko.applyBindings(contract_model);
}
function load_model(){
var url = '/ar/contract_json?contract_id='+get_contract_id();
var data = '';
$.ajax({
type:'GET',
url:url,
async:false,
success: function(returningValue){
data = returningValue;
}
});
return data;
}
Run Code Online (Sandbox Code Playgroud)
这个初始加载工作正常.然后我做了一些事情并更改了一个observable并将数据推送回服务器.服务器获取更新,然后我重新获取数据,以便视图将刷新(我知道我可以一步传回新数据,但这在代码中我还没有重构).
function refresh_data(contract_model){
var url = '/ar/contract_json?contract_id='+get_contract_id();
$.post(url,function(data){
console.log(data);
ko.mapping.fromJS(contract_model,{},data);
ko.applyBindings(contract_model);
console.log(ko.mapping.toJS(contract_model))
});
}
function refresh_data(contract_model){
var url = '/ar/contract_json?contract_id='+get_contract_id();
$.post(url,function(data){
console.log(data);
ko.mapping.fromJS(contract_model,{},data);
console.log(ko.mapping.toJS(contract_model))
});
}
function push_model(contract_model,refresh){
var url = '/ar/update_contract';
var data = {'contract':ko.mapping.toJSON(contract_model)}
delete data['lines'];
$.post(url,data,function(return_value){
if …Run Code Online (Sandbox Code Playgroud) 我收到了关于如何在toast点击时做出反应的消息,所以我决定在这里为每个人发布.
当用户点击时,toast我并不总是希望消息消失,但取决于我想要的消息类型:
jquery对话框(例如:显示收到的短信).使用基本点击事件我无法检测到toast我点击了.我找到的唯一解决方法是在toast中添加一个链接,并在用户点击它时进行重定向.
所以我要问的是通过使用基本点击事件来获取用户点击的当前吐司的方法(但这可能需要更多工作隐藏数据在吐司中以便在单击时恢复它以了解要做什么),或者通过添加到创建toast的函数,单击时可以对函数进行可选的回调,如下所示:
toastr.error(
'body text',
'header text',
click: function() {
console.log('you clicked on the error toaster')
}
);
Run Code Online (Sandbox Code Playgroud)
谢谢你这个非常好的图书馆.
这来自第三方库在Script中的想法,以阻止开发人员自定义它们.它会鼓励他们编写扩展,以便更容易地接受任一库的新版本.
我在一个淘汰赛ViewModel中有一个由AJAX调用填充的项目数组,它显示网页上每个项目的几个数据字段.
现在,我需要让用户点击一个项目,使用从先前的AJAX请求收到的数据(一些字段加上更多内容)填充侧栏.
我想通常会有人拿一个id来做一个 特定于项目的 AJAX请求,通过Sammy.js路由它,但我们不需要.
我是淘汰赛的新手; 我想要的最好的策略是让各个div显示一个ViewModel来显示数据,但是如何让ViewModel在它们之间传递数据呢?这是禁忌吗?
这是一个向下钻取功能的示例,我已经阅读了大量有关此问题的StackOverflow问答,但找不到我可以使用的东西.通过遵循John Papa的PluralSight教程,我已经到了这个阶段.
有没有人找到一种方法从另一个文件导入模块而不使用AMD或CommonJS(使用import关键字)?我不认为这是可能的,但我想仔细检查以防有一些聪明的方法来做到这一点.
假设我们不想要AMD和CommmonJS,我只是使用///引用语法将类型拉入文件中.这给了我类型,我根本不必使用import.只是意味着我必须在HTML中自己正确地订购脚本标签.但是我现在对此很好.
/// <reference path="router.ts" />
Run Code Online (Sandbox Code Playgroud) 我刚开始探索js库,breeze.js.我查看了示例,但似乎无法找到有关如何使用WCF数据服务的任何示例(所有示例似乎都在Web API上).
有没有人知道如何使用breeze.js使用WCF数据服务(或任何其他OData服务)?
我在文档中的某处读到breeze.js目前只支持读取OData服务.我很好,因为我正在考虑它的用例不包括对OData服务的写入.
我正在尝试使用以下层开发应用程序:
该模型包含继承和多态集合:
public class Master
{
public virtual ICollection<BaseDetail> Details { get; set; }
}
public abstract class BaseDetail
{
public virtual Master Master { get; set; }
}
public class Detail1 : BaseDetail { }
public class Detail2 : BaseDetail { }
public class Detail3 : BaseDetail { }
Run Code Online (Sandbox Code Playgroud)
问题是我找不到适合我需要的Java Script框架:
javascript ×5
breeze ×3
knockout.js ×3
jquery ×2
backbone.js ×1
durandal ×1
hottowel ×1
jaydata ×1
kendo-ui ×1
knockout-2.0 ×1
requirejs ×1
toastr ×1
typescript ×1