我使用Angularjs完成了一个完整的单页面应用程序(SPA)应用程序.
到现在为止还挺好.
众所周知,所有javascript文件都是在第一次访问时加载的.或者,某些文件在需要时以惰性模式加载.
到现在为止还挺好...
情况是:服务器更新所有文件(html partials,javascripts,css),客户端仍然有很多文件过时.
这将简单地解决刷新浏览器,点击F5键,控制+ f5或浏览器中的刷新按钮.但是在使用SPA时这个概念并不存在.
我不知道如何解决这个问题.
我可以以某种方式检测(可能执行ping操作)并只是重新加载该特定文件.使用document.write策略.但现在又出现了另一个问题,我有一个javascript文件,所有javascript都缩小了.
我可以尝试在浏览器中强制完全重新加载或强制重新登录(并重新加载,因为登录是SPA部分).
但重新加载是一个丑陋的解决方案,想象客户端丢失表单中的所有数据,因为他不幸的是服务器刚刚更新.更糟糕的是,我现在必须创建一些"自动保存"功能正因为如此.
如果可能的话,我不知道如何处理这个问题,以"角度方式"进行.
我想知道google gmail是如何处理这个的,因为我在没有记录的情况下保持记录很多个小时.
我正在学习(新手).NET,我有些疑惑.
从书中读到的例子我了解到String是对象,然后是Reference Type.
所以,我做了这个测试,结果与我的预期不同:
我真的很好奇,这是一个例外,因为"字符串"是特殊类型吗?
class Program
{
static void Main(string[] args)
{
SByte a = 0;
Byte b = 0;
Int16 c = 0;
Int32 d = 0;
Int64 e = 0;
string s = "";
Exception ex = new Exception();
object[] types = { a, b, c, d, e, s, ex };
// C#
foreach (object o in types)
{
string type;
if (o.GetType().IsValueType)
type = "Value type";
else
type = "Reference Type";
Console.WriteLine("{0}: {1}", o.GetType(), type);
} …Run Code Online (Sandbox Code Playgroud) 我在15分钟的谷歌搜索中并不幸运.好的关键字可能运气不好?
为什么Resharper建议在函数参数中拆分字符串?
例:
由此:
return PartialView("Categorias", lista);
Run Code Online (Sandbox Code Playgroud)
对此:
return PartialView("Cat" + "egorias", lista);
Run Code Online (Sandbox Code Playgroud)
我在这里检查了文档:链接
它说: 拆分字符串文字 - 将字符串文字拆分为两个文字.
我想发现为什么这是一个很好的实践,实现这种做法的幕后基本思想是什么.
我不想在不知道为什么的情况下这样做......
C#中的"sealed"关键字,Java中的Final.
因为我几乎从不创建任何图表,我只使用已经完成的类(来自框架)我仍然多年后不知道为什么有人"锁定"一个类,所以它永远不会被扩展/继承.
它是有益的?有没有什么危害使得所有类都可以从继承中扩展掉掉"密封它"的可能性?
很抱歉在2012年问OOP是微不足道的,但我希望收到一个很好的解释和/或一个很好的阅读来源!因为对我来说没用,我无法相信它只是一个简单的概念.
但在任何地方,我搜索的答案都是一样的:"标记一个类,防止它从其他人那里继承."
在Firefox中我收到了一个奇怪的语法错误,因为这不是微不足道的,而且我想在这里发布一个有趣的语法错误,因为我不知道它正在发生.
应该将此文件作为错误报告提交?
我在这里测试一些脚本:这里
它给了我一个语法错误.SyntaxError: invalid label at line 5.
app.directive("alertable", function()
{
return
{
restrict : "A",
link: function(scope, element, attrs)
{
element.bind("click", function()
{
alert(attrs.message);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
而这一个,不要:
app.directive("alertable", function()
{
return { // fix???
restrict : "A",
link: function(scope, element, attrs)
{
element.bind("click", function()
{
alert(attrs.message);
});
}
};
});
Run Code Online (Sandbox Code Playgroud) 我成功地遵循了本教程:http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
当我使用移动设备访问页面时,所有视图都成功呈现.但是,它们的布局错误(AKA主页).
我有以下结构:/Views/Shared/Mobile/_Layout.cshtml /Views/Shared/_Layout.cshtml
问题是,我必须在每个视图中放入以下语句:
Layout = "~/Views/Shared/Mobile/_Layout.cshtml";
Run Code Online (Sandbox Code Playgroud)
有没有我可以将逻辑放在另一个布局上的地方?
if(normalAccess)渲染正常_Layout.cshtml else(mobileAccess)渲染/Mobile/_Layout.cshtml
我找不到哪里.
谢谢你的帮助.
angularjs ×2
asp.net-mvc ×2
c# ×2
.net ×1
base64 ×1
inheritance ×1
javascript ×1
oop ×1
razor ×1
reference ×1
resharper ×1
string ×1