我有类似plunker的内容。我希望我的视图能够填充传递给指令的mapId。然后我想表明这个观点代替“这是一些内容”。
首先,我如何将mapId传递到视图中?其次,如何在灯箱div中显示该视图?
我知道这有点模糊,但我是棱角分明的,所以我不知道这里需要什么其他信息。
答案 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