假设我们有一系列项目:
items = [
{ title: 'item 1'},
{ title: 'item 2'},
/* ... */
];
Run Code Online (Sandbox Code Playgroud)
并且有一个呈现此数组的模板:
<ul>
<li *ngFor="let item of items">{{item.title}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如果我通过push/ 添加/删除项目,splice或者只添加/删除相应项目的标记,那么angular2会重新渲染整个数组吗?如果它只是更新,那么变异stategies是否有任何区别 - 我是否更喜欢推/拼接而不是阵列替换?换句话说,这两种方法在渲染性能方面是否相同:
/* 1: mutation */
this.items.push({ title: 'New Item' });
/* 2: replacement */
var newArray = this.items.slice();
newArray.push({ title: 'New Item' });
this.items = newArray;
Run Code Online (Sandbox Code Playgroud) 对于我的post实体,我将HTML和MARKDOWN存储在数据库中(HTML从MARKDOWN转换).HTML用于在页面上呈现,而MARKDOWN用于编辑功能(使用WMD).我在存储到db之前清理HTML.问题是:我是否应该对降价进行消毒?或者它是xss安全的,如果我只传递给wmd编辑器?
关于Html diff引擎有一些关于SO的问题,但我找不到正确的答案.我需要的是用于比较两个渲染的 html字符串和显示差异的.NET库(如SO渲染问题/答案编辑修订版(示例)).
我已将我的应用程序从MVC 1更新为MVC 2.之后,一些页面抛出PathTooLongException:
[PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.]
System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value) +7493057
System.IO.Path.NormalizePathFast(String path, Boolean fullCheck) +387
System.IO.Path.NormalizePath(String path, Boolean fullCheck) +36
System.IO.Path.GetFullPathInternal(String path) +21
System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath) +73
System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath) +278
System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList) +87 …Run Code Online (Sandbox Code Playgroud) html ×2
.net ×1
angular ×1
arrays ×1
asp.net-mvc ×1
diff ×1
markdown ×1
ngfor ×1
validation ×1
wmd ×1