Javascript 行属性的textarea knockout attr绑定不起作用

Javascript 行属性的textarea knockout attr绑定不起作用,javascript,knockout.js,Javascript,Knockout.js,我想通过淘汰赛2.3.0来改变texterea的高度 我将texterea的值绑定到“FileData”可观察字段 并希望texterea rows属性更改为“FileData”中的行数 值绑定工作正常,但attr不工作 var self=this; self.FileData=ko.可观察(“”); self.lineBreakCount=函数(str){ /*计数\n*/ 试试{ 返回((str.match(/[^\n]*\n[^\n]*/gi.length))+1; }捕获(e){ 返回

我想通过淘汰赛2.3.0来改变texterea的高度

我将texterea的值绑定到“FileData”可观察字段 并希望texterea rows属性更改为“FileData”中的行数

值绑定工作正常,但attr不工作

var self=this;
self.FileData=ko.可观察(“”);
self.lineBreakCount=函数(str){
/*计数\n*/
试试{
返回((str.match(/[^\n]*\n[^\n]*/gi.length))+1;
}捕获(e){
返回0;
} 
}
self.buttonClick=函数(){
$.get(url,{})
.success(函数(serverData){self.FileData(serverData);})
}
点击我

您的
lineBreakCount
需要一个
字符串
,但您正在传递一个包含
字符串的
可观察的

若要解决此问题,请在绑定(
lineBreakCount(FileData())
)或方法(
str().match
)中展开可观察对象

var VM=function(){
var self=这个;
self.FileData=ko.可观察(“”);
self.lineBreakCount=函数(str){
/*计数\n*/
试一试{
返回((str.match(/[^\n]*\n[^\n]*/gi.length))+1;
}捕获(e){
返回0;
}
}
self.buttonClick=function(){};
};
应用绑定(新VM())

点击我

您的
lineBreakCount
可以是一个计算的可观察值:.:-)这个答案对我有用,因为我使用添加绑定函数:attr:{'rows':lineBreakCount.bind($data,DriverData())