Angular指令事件未在编译函数中触发

时间:2015-09-23 17:16:40

标签: javascript angularjs directive

我已经尝试了很多但没有取得成功,如何在编译函数中绑定的情况下触发ng-click?

function() {
        return {
            restrict: 'EA',
            compile: function(element, attr) {
                return function(scope, element, attr) {
                    element.html('<div ng-click="save()"></div>');
                }
            },
            controller : function($scope){
                $scope.save = function(){
                    console.log('save');
                }
            }
        };
    }
])

1 个答案:

答案 0 :(得分:0)

使用link和$ compile生成所需的结果:

return {
            restrict: 'EA',
            link: function (scope, element) {
                element.html('<div  ng-click="save()">save</div>');
                $compile(element.contents())(scope);
            },
            controller: function ($scope) {
                $scope.save = function () {
                    console.log('save');
                }
            }
        }