TypeError:无法设置属性' $ render'为null

时间:2016-09-11 17:59:49

标签: javascript angularjs

我遇到了 TypeError:无法设置属性' $ render'为null 因为我没有在某些组件中设置模型。 那么,我怎么能这样做:

.directive("contenteditable", function () {
        return {
            restrict: "A",
            require: "?ngModel",

并创建一个没有ng-model的<div contenteditable class="title-module-name" required></div>? 也许我需要先检查一下:

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

但我不知道该怎么做!

谢谢!

我的整个指令:

.directive("contenteditable", function () {
    return {
        restrict: "A",
        require: "?ngModel",
        link: function (scope, element, attrs, ngModel) {

            function read() {
                ngModel.$setViewValue(element.text());
            }

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

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

类似的问题:Cannot set property '$render' of undefined

1 个答案:

答案 0 :(得分:0)

我最终得到了这个:

link: function (scope, element, attrs, ngModel) {
    if (ngModel !== null) { //the check

所以,自己回答!谢谢!