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