如何将index.html中的内容放入我的view.html?

时间:2014-02-15 20:43:09

标签: javascript html css angularjs angularjs-directive

我有类似plunker的内容。我希望我的视图能够填充传递给指令的mapId。然后我想表明这个观点代替“这是一些内容”。

首先,我如何将mapId传递到视图中?其次,如何在灯箱div中显示该视图?

我知道这有点模糊,但我是棱角分明的,所以我不知道这里需要什么其他信息。

2 个答案:

答案 0 :(得分:1)

我会使用来自Angular-UI bootstrap http://angular-ui.github.io/bootstrap/的模态,并根据我的情况进行调整。我认为这是一个很好的起点。

答案 1 :(得分:1)

您无法将view.html文件与当前的lighbox代码一起使用。需要进行大量修改才能使用template files and isolate scopes。但是,您可以使用当前代码来实现相同的功能,可能需要添加一个控制器来修改范围。

我修改了plunker中的index.html,以便显示mapId值。

让我们回顾一下angular-lightbox实际上在做什么:

只返回一个函数,该指令将经历整个编译过程,然后使用返回的函数作为链接器。然后链接器继续(取决于选项)向DOM&添加覆盖(灯箱的不透明深色背景)。然后将灯箱活动类添加到div#lightbox。这个div已经存在于DOM中,但由于CSS而被隐藏,并且已经编译过了由AngularJS渲染,除了通过相同或子范围级别的双向数据绑定之外,它无法真正改变。

我做了哪些改动:

我向名为div#lightbox的{​​{1}}添加了一个绑定范围变量,并将mapId添加到按钮,将ng-click的值设置为1,2或3。因此,当您点击按钮时,会显示mapId&显示div#lightbox的新值的值。

鉴于以上可能不是你想要完成的......

让我们谈谈如何做到这一点

首先,您需要以某种方式将mapId加载到指令中。只需让view.html内容成为指令中的字符串或使用$templateCache

然后,您需要view.html来自view.html的HTML,传入包含您想要的options值的新范围,然后将其附加到div#lightbox