Angularjs 使用ng map指令的自定义指令,dom更改但未反映在map上

Angularjs 使用ng map指令的自定义指令,dom更改但未反映在map上,angularjs,google-maps,angularjs-directive,ng-map,Angularjs,Google Maps,Angularjs Directive,Ng Map,我正在尝试使用一个ngMap指令创建一个自定义指令。具体来说,是形状 angular .module('seeMeApp', ['ngMap']) .directive('userPath', function () { return { restrict: 'E', scope: { user: '=userObj', weight: '=', opacity: '=' }, rep

我正在尝试使用一个ngMap指令创建一个自定义指令。具体来说,是形状

angular
  .module('seeMeApp', ['ngMap'])
  .directive('userPath', function () {
    return {
      restrict: 'E',
      scope: {
        user: '=userObj',
        weight: '=',
        opacity: '='
      },
      replace: true,
      template: '<shape name="polyline" path="{{user.pathCoordinates}}" geodesic="true" stroke-color="{{user.color}}" stroke-opacity="{{opacity}}" stroke-weight="{{weight}}"></shape>'
    };
  })
angular
.module('seemapp',['ngMap']))
.directive('userPath',function(){
返回{
限制:'E',
范围:{
用户:'=userObj',
权重:'=',
不透明度:'='
},
替换:正确,
模板:“”
};
})
当我在ngMap的map指令中直接使用shape指令时,模型中的更改将被插值并反映在map上

<map ng-show="pathCoordinates.length > 0" center="{{pathCoordinates[pathCoordinates.length - 1]}}" zoom="15">
    <shape ng-if="pathCoordinates.length > 0" name="polyline" path="{{pathCoordinates}}" geodesic="true"
    stroke-color="{{mapConfig.color}}" stroke-opacity="{{mapConfig.opacity}}" stroke-weight="{{mapConfig.stroke}}"> </shape>

</map>

但当我使用Shape创建自定义指令时,dom会发生变化,但不会在地图上创建可见的形状

我在这里为同样的目的创建了一个plunker:

我错过了什么。 谢谢

替换:正确
我认为这是与
replace:true
()

若要解决此问题,请从您的指令声明中删除
替换:true
,它将正常工作

例如:

  .directive('userPath', function () {
    return {
      restrict: 'E',
      scope: {
        user: '=userObj',
        weight: '=',
        opacity: '='
      },
      template: '<shape name="polyline" path="{{user.pathCoordinates}}" geodesic="true" stroke-color="{{user.color}}" stroke-opacity="{{opacity}}" stroke-weight="{{weight}}"></shape>'
    };
  })
指令('userPath',函数(){
返回{
限制:'E',
范围:{
用户:'=userObj',
权重:'=',
不透明度:'='
},
模板:“”
};
})
演示-

replace:true
我认为这是与
replace:true
()

若要解决此问题,请从您的指令声明中删除
替换:true
,它将正常工作

例如:

  .directive('userPath', function () {
    return {
      restrict: 'E',
      scope: {
        user: '=userObj',
        weight: '=',
        opacity: '='
      },
      template: '<shape name="polyline" path="{{user.pathCoordinates}}" geodesic="true" stroke-color="{{user.color}}" stroke-opacity="{{opacity}}" stroke-weight="{{weight}}"></shape>'
    };
  })
指令('userPath',函数(){
返回{
限制:'E',
范围:{
用户:'=userObj',
权重:'=',
不透明度:'='
},
模板:“”
};
})
演示-

是的,确实有效。非常感谢你。这是我的第二个指令,已经开始失去恩图。但知道这是一个bug,而不是我遗漏的东西,这让我松了一口气;)是的,确实有效。非常感谢你。这是我的第二个指令,已经开始失去恩图。但知道这是一个bug,而不是我遗漏的东西,这让我松了一口气;)