Javascript 如何将td contenteditable值绑定到ng模型

Javascript 如何将td contenteditable值绑定到ng模型,javascript,html,angularjs,contenteditable,Javascript,Html,Angularjs,Contenteditable,嗨,我有以下td元素: <td ng-model="name" contenteditable='true'></td> 我是否可以将此ng模型值从contenteditable td传递到我的控制器?提前感谢各位1。具有可编辑的角度内容 使用可编辑的角度 可以从contenteditable元素中获取值 <div ng-controller="Ctrl"> <span contenteditable="true" ng-mod

嗨,我有以下td元素:

<td ng-model="name" contenteditable='true'></td>


我是否可以将此ng模型值从contenteditable td传递到我的控制器?提前感谢各位

1。具有可编辑的角度内容

使用可编辑的角度

可以从contenteditable元素中获取值

<div ng-controller="Ctrl">
  <span contenteditable="true"
        ng-model="model"
        strip-br="true"
        strip-tags="true"
        select-non-editable="true">
  </span>
</div>

2.带有指令

你也可以用这个

该指令最初获得于:

角度模块('customControl',[])。 指令('contenteditable',函数(){ 返回{ restrict:'A',//仅在元素属性上激活 require:“?ngModel”,//获取NgModelController 链接:功能(范围、元素、属性、模型){ if(!ngModel)return;//如果没有ng模型,则不执行任何操作 //指定应如何更新UI ngModel.$render=function(){ html(ngModel.$viewValue | |“”); }; //侦听更改事件以启用绑定 on('blur keyup change',function(){ 适用范围:$apply(读取); }); read();//初始化 //将数据写入模型 函数read(){ var html=element.html(); //清除可编辑内容后,浏览器会留下一个
//如果提供了strip br属性,那么我们将其去掉 如果(attrs.stripBr&&html='
'){ html=''; } ngModel.$setViewValue(html); } } }; });

改变我!
必修的!


绑定到
contenteditable
不是内置的,但是您可以编写一个简单的指令来完成任务

app.directive(“contenteditable”,function()){
返回{
限制:“A”,
要求:“ngModel”,
链接:功能(范围、元素、属性、模型){
函数read(){
ngModel.$setViewValue(element.html());
}
ngModel.$render=function(){
html(ngModel.$viewValue | | |“”);
};
元素绑定(“模糊键控更改”,函数(){
适用范围:$apply(读取);
});
}
};
});

但是,请注意,在Internet Explorer中,
contenteditable
不能直接应用于
COL
COLGROUP
TBODY
TD
TFOOT
TH
THEAD
、或
TR
元素;内容可编辑的
SPAN
DIV
元素需要放在各个表格单元格中(请参见)。

我需要下载Dinidu?vellattukudy软件包,是的,您应该下载,尽管您可以轻松使用我提供的指令感谢Dinidu!谢谢你!对不起,我对angularJS有点陌生。什么是指令?它是我控制器中的一个功能吗?。指令是自定义代码,可以像控制器一样将自定义行为添加到HTML中。非常感谢。
restrict实际上是什么?
A
require:“ngModel”
表示什么?
restrict:“A”
表示指令匹配HTML属性(
contenteditable
,在这种情况下。)
要求:“ngModel”
意味着指令希望在与指令相同的HTML元素上存在一个
ng model
属性,因为它操纵
ng model
的值。这太棒了!谢谢你,克莱斯!