我正在寻找一个模板引擎来使用客户端.我一直在尝试一些像jsRepeater和jQuery模板.虽然它们似乎在FireFox中运行良好,但它们在呈现HTML表格时似乎都在IE7中崩溃了.
我还看了一下MicrosoftAjaxTemplates.js(来自http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766)但事实证明它有同样的问题.
有关其他模板引擎的建议吗?
我想在我的一个非常重要的项目中使用upshot.js和Knockout.我没有看到任何关于结果的文档或任何活动.在我做出这个决定之前,这个项目还活跃吗?
如果整个asp.net堆栈现在已经打开,并且可以看到什么内容已经提交到存储库,为什么这个小型库仍然没有在codeplex或github上供社区查看?
我希望这仍然是asp.net团队的雷达.
我经常需要搜索包含对象的javascript数组.我想在数组中搜索具有属性匹配的对象.例如,在Person对象的数组中搜索person的id/key ==="ABC123"
使用$ .each方法使用jQuery可以很容易地完成它,这是我所确定的.你可以在jsFiddle中看到这里的例子.http://jsfiddle.net/johnpapa/EJAFG/
我想知道是否有其他人找到了更快和/或更好的方法来做到这一点?
var Person = function(code, name) {
this.code = code;
this.name = name;
};
var people = [
new Person("ABC123", "Tooth Fairy"),
new Person("DEF456", "Santa Claus"),
new Person("PIR000", "Jack Sparrow"),
new Person("XYZ987", "Easter Bunny")
];
var utils = {};
// Could create a utility function to do this
utils.inArray = function(searchFor, property) {
var retVal = -1;
$.each(this, function(index, item) {
if (item.hasOwnProperty(property)) {
if (item[property].toLowerCase() === searchFor.toLowerCase()) {
retVal = index;
return false;
} …Run Code Online (Sandbox Code Playgroud) 我不知道,如果你已经看过这个演示应用程序:http://www.johnpapa.net/hottowel/但是一旦你启动它,你会看到一个非常好的加载屏幕,就像你在任何更大的桌面应用程序/游戏.
所以我自己没有机会正确地完成代码,但最近我开始使用Emberjs,我觉得加载我正在构建的整个SPA的所有js代码都可以在秒区域内.
我现在的问题是,使用emberjs这样的加载屏幕怎么样?或者有更好的方法去做吗?(我不知道怎么认为requirejs不是解决方案,尽管我可能错了)
问题:有没有办法使用AMD支持(通过编译器)将jquery导入TypeScript模块,因此它包含jquery作为依赖项?
关键是获取import语句,这使得模块成为define语句中的依赖项(见下文).
define(["require", "exports", 'dataservice', 'jquery', 'knockout'],
function(require, exports, __ds__, $ , ko) {
...
}
)
Run Code Online (Sandbox Code Playgroud)
详细信息:我想将jquery(和其他第三方库)导入为AMD的TypeScript模块.目标是使它们在require列表中显示为依赖项.但是,使TypeScript执行此操作的唯一方法似乎是拥有一个import语句.要导入,您需要导入模块.但是......没有jquery模块可以指向.至.
解决方法:
所以现在我只是在main.js中预加载jquery.但又一次,但这不太理想.必须为任何没有模块的淘汰赛,骨干等图书馆做到这一点.
有什么更好的建议或我遗漏的东西?
更新/澄清:
我还可以在配置中使用填充程序来获取库之间的依赖关系.但这仍然预先加载第三方.例:
require.config({
baseUrl: '../',
paths: {
'jquery': 'lib/jquery-1.7.2',
'underscore': 'lib/underscore'
},
shim: {
jquery: {
exports: '$'
},
underscore: {
exports: '_'
}
}
});
Run Code Online (Sandbox Code Playgroud) 我正在寻找松树通知(http://pines.sourceforge.net/pnotify/)它看起来不错,但它似乎没有什么实际的文档,所以我想知道有没有更多的建立和工作在那里?
就像我不想花时间试图弄清楚如何使用松树,然后发现它缺少一些功能,我需要几个月后,我需要更改为一个不同的插件.
这发生在我身上,因为我正在使用tablesorter 2.0然后我需要过滤但是他们有点吸吮所以我发现数据包有什么有这么大的api并且开发得更多.
所以我想知道是否有像datatables(在开发和功能方面)只是为了通知.
编辑
所以我看着jgrowl,有点混淆如何使用主题滚轮.
所以我拿了一次示例文件并用我认为是垃圾的所有内容删除了它.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<title>jGrowl meet Twitter</title>
<link rel="stylesheet" href="../jquery.jgrowl.css" type="text/css"/>
<link type="text/css" href="css/le-frog/jquery-ui-1.7.2.custom.css" rel="Stylesheet" />
<script type="text/javascript">
$(function(){
$('.ui-state-default').hover(
function(){$(this).addClass('ui-state-hover');},
function(){$(this).removeClass('ui-state-hover');}
)
.mousedown(function(){$(this).addClass('ui-state-active');})
.mouseup(function(){$(this).removeClass('ui-state-active');})
.mouseout(function(){$(this).removeClass('ui-state-active');});
});
</script>
<script type="text/javascript" src="jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="../jquery-1.3.2.js"></script>
<script type="text/javascript" src="../jquery.jgrowl.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// This value can be true, false or a function to be used as a callback when the closer is …Run Code Online (Sandbox Code Playgroud) 我最近开始玩Knockout,我必须说它真的很棒,它可以为Web应用程序带来的力量.
但是现在我想做一些现实世界并使用Knockout构建我的解决方案.例如.我应该如何初始化我的视图模型.他们应该去哪儿?我主要针对单页面应用程序.所以,我主要对构建单页面应用程序感兴趣.
javascript asp.net-mvc jquery knockout.js single-page-application
我想拦截Sammy的所有路线变化,首先检查是否有待处理的动作.我使用sammy.beforeAPI 完成了这个,我返回false来取消路由.这使用户保持在"页面"上,但它仍然会更改浏览器地址栏中的哈希值,并将路径添加到浏览器的历史记录中.如果我取消路线,我不想在地址栏或历史记录中,但我希望地址保持不变.
目前,要解决此问题,我可以调用window.history.back(yuk)返回历史记录中的原始位置或sammy.redirect.两者都不太理想.
有没有办法让sammy真正取消路由,使其保持在当前路由/页面上,保留地址栏,并且不添加到历史记录中?
如果没有,是否有另一个路由库将执行此操作?
sammy.before(/.*/, function () {
// Can cancel the route if this returns false
var response = routeMediator.canLeave();
if (!isRedirecting && !response.val) {
isRedirecting = true;
// Keep hash url the same in address bar
window.history.back();
//this.redirect('#/SpecificPreviousPage');
}
else {
isRedirecting = false;
}
return response.val;
});
Run Code Online (Sandbox Code Playgroud) javascript url-routing sammy.js single-page-application toastr
我一直在阅读MVVM,到目前为止发现它非常有趣.但是,我发现的大多数示例都适用于Windows应用程序,而不是Web应用程序.我也看到很多提到与Silverlight一起使用的MVVM,我知道Silverlight可以用于Web或Windows应用程序.
所以我的问题是 - MVVM是基于Web的应用程序的有效模式吗?如果是,UI必须是Silverlight吗?我正在决定将哪些技术用于我们需要设计的新中型网站,而Silverlight可能是对权力的强烈推销 - 尽管我们在幕后使用的技术并不重要非常.
任何人都可以在网络环境中使用MVVM提供的任何信息都将受到赞赏.示例代码也很棒.
我只是想知道如何在单独的数据层项目中实现breeze的EFContextProvider.此外,由于该项目是一个类库而不是MVC 4应用程序,我应该如何将它包含在我的项目中?我真的不需要Breeze NuGet包中的整套技巧,只需要EFContextProvider的东西.我想使用EFContextProvider DbContext包装器实现一个工作单元模式,就像John Papa在他精彩的复数课程中所做的那样.有没有人这样做过?有小费吗?
谢谢
javascript ×4
jquery ×4
asp.net-mvc ×2
breeze ×2
jsrender ×2
knockout.js ×2
toastr ×2
.net ×1
amd ×1
ember.js ×1
hottowel ×1
mvvm ×1
requirejs ×1
sammy.js ×1
silverlight ×1
templates ×1
typescript ×1
upshot ×1
url-routing ×1