当前位置: 首页 > 面试题库 >

动态创建角度视图

那正初
2023-03-14
问题内容

我正在使用awesomium制作游戏中的用户界面,有时游戏会加载并执行一段JavaScript,以创建任意新的UI元素。例如

jQuery(document.body).append('<span class="game-status-alert">You Lose!</span>');

效果很好,当我想创建一些更高级的UI元素(特别是使用angular)时,就会出现问题。例如:

function ChatBoxControl($scope) { /* Stuff */ }

jQuery(document.body).append(
    '<div ng-controller="ChatBoxControl"><div ng-repeat="line in chat"><span>{{line}}</span></div></div>'
);

毫不奇怪,这不会创建新的角度视图。它只是将该html添加到文档中,而从未绑定到ChatBoxControl。

我如何才能在这里实现自己的目标?


问题答案:

您应该$ compile动态添加角度内容。就像是:

jQuery(document.body).append(
    $compile(  
        '<div ng-controller="ChatBoxControl"><div ng-repeat="line in chat"><span>{{line}}</span></div></div>'
    )(scope)
);

您可以使用以下任何元素的范围:

var scope = angular.element('#dynamicContent').scope();

另外,您还应该获得可以在其他控制器中注入的$ compile。



 类似资料:
  • 我知道如何在MVC中创建视图。

  • 我试图在android中创建一个具有圆形边缘的视图。到目前为止,我找到的解决方案是定义一个具有圆角的形状,并将其用作该视图的背景。 下面是我所做的,定义一个可绘制的,如下所示: 现在我用它作为我的布局背景,如下所示: 这工作非常好,我可以看到视图有圆形的边缘。 但是我的布局中有许多其他的子视图,比如ImageView或MapView。当我在上面的布局中放置时,图像的角落不会被裁剪/裁剪,而是显示为

  • 我的理解是,在任何给定的时间点上,一个线程只能执行onRecture。 假设我有一个非类型的演员,定义如下: 我基本上想使用Akka而不使用期货。同时,我希望我的演员们不要尽可能多地阻拦。在我的onReceive中生成递归子角色,单独处理来自其他角色的特定消息,可以吗? 本质上,在我的“if(message.equals(“dbresponse”)”中,我只想记录一个DB响应,而不是在Exampl

  • 问题内容: 在html模板中,我具有带有动态图像的这种样式: 可以在网络浏览器和android浏览器中使用。但是,使用“ style =”动态显示的背景图像不会在iPad上显示。 我总是可以使用img标签创建动态图像,但是我正在寻找iPad的样式/ css解决方案。 问题答案: 改用 要么

  • 地图全屏        在LSV中可以实现地图全屏显示效果,提高演示效果。在“视图”菜单栏中“视图角度”栏点击“地图全屏”。全屏效果如下图所示,点击ESC退出全屏。 全球视图        在“视图”菜单栏中“视图角度”栏点击“全球视图”可以迅速切换到全球视图视角。 正北方向        在“视图”菜单栏中“视图角度”栏点击“正北方向”或者双击罗盘可以迅速切换到正北方向视角。 垂直视角    

  • 地图全屏        在LSV中可以实现地图全屏显示效果,提高演示效果。在“视图”菜单栏中“视图角度”栏点击“地图全屏”。全屏效果如下图所示,点击ESC退出全屏。 全球视图        在“视图”菜单栏中“视图角度”栏点击“全球视图”可以迅速切换到全球视图视角。 正北方向        在“视图”菜单栏中“视图角度”栏点击“正北方向”或者双击罗盘可以迅速切换到正北方向视角。 垂直视角