Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法设置属性'$渲染';未定义的_Javascript_Angularjs - Fatal编程技术网

Javascript 无法设置属性'$渲染';未定义的

Javascript 无法设置属性'$渲染';未定义的,javascript,angularjs,Javascript,Angularjs,请获取此错误的帮助“无法设置未定义的属性“$render”。我知道这个问题已经被问到了,但我不能解决它 $scope.editmode = false; $scope.toggleEditMode = function () { $scope.editmode = $scope.editmode === false ? true : false; } directives.directive("contenteditable", function () { 返回{

请获取此错误的帮助“无法设置未定义的属性“$render”。我知道这个问题已经被问到了,但我不能解决它

    $scope.editmode = false;
$scope.toggleEditMode = function () {
    $scope.editmode = $scope.editmode === false ? true : false;

}

    directives.directive("contenteditable", function () {
返回{

link: function(scope, element, attrs, ngModel) {

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

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

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


{{us[key.name]}
{{editmode?'Disable Editing':'Enable Editing'}

如果您在链接功能中使用ngModel,您应该在指令中要求它

return {
   require: 'ngModel', // <---THIS
   link: function(scope, element, attrs, ngModel) {

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

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

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

要求:“ngModel”,在指令中要求使用ngModel。

directives.directive("contenteditable", function () {
    return {
        require: 'ngModel',
        link: function(scope, element, attrs, ngModel) {

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

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

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

有关ngModel的详细说明,您可以参考此现有版本。

然后我得到以下错误:错误:[$compile:ctreq]无法找到指令“contenteditable”所需的控制器“ngModel”!因此我缺少某个ng模型,然后我得到以下错误:[$compile:ctreq]找不到指令“contenteditable”所需的控制器“ngModel”!IvanLuketić纠正我的错误,你想让我们[key.name]的值可编辑对吗?这是一个我想在点击按钮时使其可编辑的表我试图通过放置
ng model=“us[key.name]”来创建一个
span
元素中的指令,而不是将其放在
上。它工作正常,但将空格和制表符解释为html实体存在问题。此外,不知道这是否有帮助,但有一个现有项目,您可能想查看它。
directives.directive("contenteditable", function () {
    return {
        require: 'ngModel',
        link: function(scope, element, attrs, ngModel) {

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

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

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