如何创建指令模块名称的隔离范围?

时间:2015-07-10 21:51:49

标签: javascript angularjs angularjs-directive isolate-scope

我有一个名为contenteditable的指令,其隔离范围称为post: "&"

问题:

如何使用默认的contenteditable指令替换名为Post的隔离范围。

angular.module('t23App').
directive("contenteditable", function() {
    return {
        restrict: "A",
        require: "ngModel",
        scope: {
            post: "&"
        },
        link: function(scope, element, attrs, ngModel) {
            console.log(contenteditable)
            function read() {
                ngModel.$setViewValue(element.html());
            }

            ngModel.$render = function() {
                element.html(ngModel.$viewValue || "");
            };

            element.bind("blur keyup change", function() {
                scope.$apply(read);
            });
        }
    };
});

因此: 目前看来是什么

<div contenteditable post="dosomething()"> Click this</div>

最后,html将如下所示:

<div contenteditable="dosomething()"> Click this</div>

1 个答案:

答案 0 :(得分:1)

将指令的名称放在范围内:

scope: {
  contenteditable: "&"
}