淘汰赛和明文框按钮

时间:2014-04-02 15:05:24

标签: knockout.js plunker

我在这里创建了一个Plunker: http://plnkr.co/edit/EWh3DI8fkckU9mKGqWhS

我要么很累,要么就是看不到发生了什么。此代码显示" Hello World"在VS 2013的文本框中,但由于某种原因,jQuery似乎并没有在Plunker中工作。我是Plunker的新手,这不是我的问题。

我的问题是如何使用Knockout observable清除文本框按钮以清除文本框中的文本。我使用Revealing Pattern创建了一个简单的模型,然后将文本框中的值定义为可观察的(使用data-bind和applybindings)。但是在KO绑定之后设置vm公共变量并不会更改文本框中的值。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

您的apply bindings函数需要一个结束括号

$(function () {  
    ko.applyBindings(vm);
  }) <--here

essayText应该是可观察的

var essayText = ko.observable("Hello World");

因此,应该按照可观察的方式修改essayText

function cleartb()
  {
    vm.essayText('');
    return;
  }

答案 1 :(得分:0)

我喜欢plunker,但对于这些快速帮助问题,JSFiddle与cdnjs的外部资源更快(IMO)。无论如何,这是一个不同的方法和here's a JSFiddle

var ViewModel = function(){
    var _self = this;
    _self.EssayText = ko.observable("Hello World");
    _self.ClearTextBox = function(){
      _self.EssayText("");  
    };
};

ko.applyBindings(new ViewModel());

标记

<div class="container">
    <div class="row">
        <div class="col-md-2">Enter Text Here (Starting Value Should Be 'Hello World'):</div>
        <div class="col-md-10">
            <textarea id="TextEditor" data-bind="value: EssayText"></textarea>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <button class="btn btn-info" data-bind="click: ClearTextBox">Clear Text Box</button>
        </div>
    </div>
</div>
相关问题