【问题标题】:WinApp 8.1 (WinJS) App with AngularJS带有 AngularJS 的 WinApp 8.1 (WinJS) 应用程序
【发布时间】:2015-01-16 15:27:49
【问题描述】:

我目前正在开发一个原型,用于在开发 Win8.1 WinJS 应用程序时测试多个框架的可用性。在开发过程中,我发现了一个非常奇怪的表单行为。

这是新创建的 WinJS 应用程序的原版形式:

您可以看到输入框中的光标和复制按钮的一半。由于插入式虚拟键盘会覆盖输入框,因此它会自动向上滚动内容。

现在我包含 AngularJS 1.3.1:

现在,没有光标,没有出现复制按钮,并且插入式键盘实际上覆盖了输入框。实际上无法更改不可见光标的位置,因此我只能将字符添加到任何现有文本。

我分析了两个版本的 DOM 树:

香草:

包括 Angular 1.3.1:

我们可以看到,angular 在头部内嵌套了一个二级头部,包括一些奇怪的 ass css 定义。此外,在 head 元素中创建了另一个 body 标签。我尝试在使用以下 sn-p 加载 angular 后删除它们:

<script type="text/javascript">
  $(function () {
    $('head > head, head > body').remove();
  });
</script>

这解决了问题,但现在,ng-show、ng-hide 指令不再起作用。 只有在 WinJS API 中使用 AngularJS 时,我才能观察到这个问题。我搜索了互联网,但没有找到关于这种行为的任何线索 - 实际上有几个博客描述了在 WinJS 应用程序中使用 AngularJS 的过程,但没有提及任何此类问题。

你们知道这里发生了什么吗?

【问题讨论】:

    标签: angularjs winjs winapp


    【解决方案1】:

    我看到你包括 winstore-jscompat.js... 请看这个问题:

    https://github.com/MSOpenTech/winstore-jscompat/issues/8
    

    ..在这个 fork 中是固定的:

    https://github.com/ClemMakesApps/winstore-jscompat/blob/master/winstore-jscompat.js
    

    请注意,这可能会在某个时候被拉入主项目,所以这个问题应该“很快”消失。

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 2014-07-18
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多