angular附加到最后编译的元素

时间:2016-06-27 10:18:44

标签: javascript jquery angularjs angularjs-directive

我试图在fullcallendar插件中添加自定义事件。

eventRender: function(event, eventElement) {
    scope.tmp = {
       time: $time,
       $title: $title,
       crest: event.clubCrest,
       statusKey: statusKey
    };
    scope.data = angular.copy(scope.tmp);
    template = $compile("<event-label data="{{data}}" ></event-label>"))(scope);
     return eventElement.find("div.fc-content").append(template);

scope.data为指令提供单独的数据,但附加的是指令,只有最后传递的数据到eventLabel指令。如何分离这些指令?有什么事情我做错了吗?

angular.module('acc.directives').directive 'eventLabel', () ->
  templateUrl: 'dist/views/commons/directives/calendar/customEvent/eventLabel/template.html'
  restrict: 'E'
  scope: {}
  link: (scope, element, attribute) ->
    scope.data = angular.fromJson(attribute.data)
    console.log(scope.data);  //this console log returns last provided data

1 个答案:

答案 0 :(得分:0)

This video解决了我的问题。
不久:
   {{}}大括号通过引用抛出数据,所以没有什么奇怪的事情,通过不同的数据传递给指令获得相同(最后传递)的数据。 解决方案是通过它

data = JSON.stringify(scope.tmp);
template = $compile("<event-label data='" + data + "'></event-label>")(scope);
return eventElement.find("div.fc-content").append(template);

然后在指令中scope.data = angular.fromJson(attribute.data);