我有一个c#\ XAML Win8 Modern应用程序,我的任务是变成HTML \ JS。
在c#中我可以使用:
PackageVersion currentVersion = new PackageVersion();
是否有js中的等价物(我猜它会出现在WinJS
中的某些内容)
答案 0 :(得分:1)
一般来说,如果它是一个来自Windows。*命名空间的API,那么它通常也可以在JavaScript中使用(除了Windows.UI.Xaml。*和其他一些不需要的东西)因为JS有内在的API,就像JSON一样。)
在这种情况下,PackageVersion来自Windows.ApplcationModel。 JS中的技巧是你必须使用完全限定的标识符,因为没有使用语句(所以我们经常将一个局部变量分配给命名空间并引用它来保存输入)。所以在你的情况下,你会做类似
的事情var currentVersion = Windows.ApplicationModel.Package.current.id.version.
或者你可以分配命名空间变量,如果你将大量使用它:
var am = Windows.ApplicationModel;
var currentVersion = am.Package.current.id.version;
对于WinRT中的任何内容,只需转到文档页面,例如http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.package.current.aspx,然后单击“语法”下的“JavaScript”选项卡以查看详细信息。如果您没有获得JS的语法表示,那么该特定API不会投射到JS中。
另外,要了解WinJS主要是一组辅助API和控件。您通常会使用两个 WinRT API和WinJS API(虽然技术上后者是可选的)。它们不是互斥的,除了在WinRT中取代XAML API的WinJS UI部分。
如果你正在进入JavaScript选项,我的免费电子书MSPress Programming Windows Store Apps, in HTML, CSS, and JavaScript 应该会帮助你,特别是在WinJS方面。