我有一个传单指令,上面绘制了一堆标记。单击标记应该会打开一个包含许多控件和事件的消息框。我创建了一个名为 infowindow 的指令,它具有我需要的所有功能。
我像这样创建一个标记:
var umarker = {
lat: location.latitude,
lng: location.longitude,
draggable: false,
message: "<infowindow></infowindow>",
};
在这里,我将指令传递给消息属性,当我运行 < 中的所有 div 时,会显示。但是,我还想将参数传递给 infowindow 的范围,以便对其进行编译。
我尝试使用以下代码执行此操作:
var contentString = '<infowindow></infowindow>';
var compiled = $compile(contentString)($scope);
var umarker = {
lat: location.latitude,
lng: location.longitude,
draggable: false,
message: compiled[0],
};
但是我无法完成这项工作,因为我收到错误“超出最大调用堆栈大小”
我还尝试隔离指令中的范围并将参数传递给范围,就像这样
'<infowindow user-details="' + userDetails + '"></infowindow>'
这也不起作用。
任何人都可以帮助我如何让它发挥作用,或者甚至可能吗?
http://jsfiddle.net/xgjdqds4/1/
userDetails 是一个对象,其中包含有关用户的详细信息,由标记表示。