我说要学习AngularJS,来自很多不同的MV*框架.我喜欢这个框架,但是我在控制器之间传递数据时遇到了麻烦.
假设我有一个带有一些输入(input.html)和控制器的屏幕,让我们说InputCtrl.
此视图上有一个按钮,可以将您带到另一个屏幕,让我们说使用控制器ApproveCtrl批准(approve.html).
此ApproveCtrl需要来自InputCtrl的数据.这似乎是更大的应用程序中非常常见的情况.
在我以前的MV*框架中,这将像(伪代码)一样处理:
var self = this;
onClick = function() {
var approveCtrl = DI.resolve(ApproveCtrl);
approveCtrl.property1 = self.property1;
approveCtrl.property1 = self.property2;
self.router.show(approveCtrl);
}
Run Code Online (Sandbox Code Playgroud)
现在,在AngularJS中,我正在处理这个:
var self = this;
onClick = function(){
self.$locationService.path('approve');
}
Run Code Online (Sandbox Code Playgroud)
我发现很难控制创建的Controller的状态并将数据传递给它.我已经看过并尝试过以下方法,但在我看来,所有这些都有自己的问题:
我在这里错过了什么吗?我创造了太多小型控制器吗?我是否试图在这里过多地保留其他框架的习惯?
我们正在开发一个供内部使用的WPF 4.0应用程序.
在某些客户端,由于UI自动化,我们遇到了巨大的性能问题(这些客户端安装了平板电脑服务笔,触摸等软件).
这是WPF 4.0的已知问题,例如:
我们已经能够在规格非常有限的机器上重现这个问题.在此机器上打开WPF窗口需要:
正如您所看到的,安装修补程序KB2484841是一项巨大的改进,但仍然没有安装ui Automation触发软件时运行速度快.
此外,我们无法控制在客户端安装哪些软件,因此很难为所有客户端推出此修复程序.
因此,是否可以为整个WPF应用程序"关闭"UI自动化?我知道它可以在每个UserControl的基础上完成,但它是否可以作为一个整体的应用程序?
我已经尝试过这篇文章中提供的代码,但没有成功.
谢谢你的时间,
科恩
假设我有2个类,Foo和Bar.Foo没有(也没有)与Bar的关系.
但是,我想要一个bar实例保持活着,只要它的foo实例保持活着.有没有办法这样做,没有foo实际引用吧?
谢谢,Koen
我正在对使用 PRISM 库编写的 WPF 应用程序进行性能分析。在此应用程序中,从一个视图导航到另一视图特别慢,尤其是在远离“重”视图时。注意:
使用 PRISM 库,区域通常在 ContentControl 上实现,例如:
<ContentControl regions:RegionManager.RegionName="MAIN" />
Run Code Online (Sandbox Code Playgroud)
因此,在 MAIN 区域中切换视图将更新此 ContentControl 的“内容”(从源代码中可以看出)。将 UI 元素设置和切换为 ContentControl 的“内容”会对性能产生副作用(请参阅此博文)。
为了克服这种行为,我为网格实现了一个自定义RegionAdapterBase ( CachingGridRegionAdapter.cs ),它基本上添加了作为子项导航的所有视图,并隐藏了所有非活动视图。
性能提升是巨大的;现在,从一个视图导航到另一个视图是即时的。问题:这种方法有什么缺点吗?
如果还有其他方法可以解决这个问题,请告诉我。
感谢您抽出时间,
科恩
像我们大多数人一样,我来自关系数据库世界,而我目前正在研究文档数据库世界的可能性。我关心的问题之一是如何处理数据模型随时间的变化(添加新属性,重命名属性,添加关系等)。
在关系数据库中,通常按以下方式处理:
使用文档数据库时,我觉得更改数据模型要容易得多。无需更新数据库架构,大多数情况下,它只是添加一个属性..而所有“正常工作”。我想知道团队如何在现实生活中管理带有文档数据库的企业项目中的此类迁移:
谢谢您的时间,
科恩
我正在尝试使用curl将一个来自powershell脚本的JSON字符串传递给build.phonegap.com api.
根据phonegap的论坛,当在Windows机器上运行时,JSON数据必须格式化为:
curl.exe -ku user@email:mypass -X PUT -d "data={\"password\":"\keypass\"}" https://build.phonegap.com/api/v1/key
Run Code Online (Sandbox Code Playgroud)
实际上,从命令行调用时,这确实运行良好.
但是,当我尝试在powershell脚本中调用它时,双引号似乎被剥离.
到目前为止,我尝试过:
curl.exe -ku user@email:mypass -X PUT -d '"data={\"password\":\"keypass\"}"' https://build.phonegap.com/api/v1/key
curl.exe -ku user@email:mypass -X PUT -d '"data={"password":"keypass"}"' https://build.phonegap.com/api/v1/key
curl.exe -ku user@email:mypass -X PUT -d '\"data={\\\"password\\\":\\\"keypass\\\"}\"' https://build.phonegap.com/api/v1/key
curl.exe -ku user@email:mypass -X PUT -d "`"data={\`"password\`":\`"build*2014`\`"}`"" https://build.phonegap.com/api/v1/key
知道怎么做到这一点?
谢谢你的时间,科恩