第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可以使用cleanNode()清除綁定嗎?

可以使用cleanNode()清除綁定嗎?

使用以下代碼,輸入#p_in將隨著輸入#s_in的更改而更新。但是我已經(jīng)使用了cleanNode(sec)。任何人都可以幫助您理解為什么不清除綁定。    <input id="p_in" data-bind="value: name"></input>    <input id="s_in" data-bind="value: name"></input>    <input id="cb" type="checkbox">same</input>    <script type="text/javascript">        function AddrDataSet (name) {            this.name = ko.observable(name);        };        var primary_set = new AddrDataSet('p');        var sec_set = new AddrDataSet('s');        var pri = $('#p_in')[0];        var sec = $('#s_in')[0];        ko.applyBindings(primary_set, pri);        ko.applyBindings(sec_set, sec);        ko.cleanNode(sec); // clean it        ko.applyBindings(primary_set, sec); // bind it to primary_set        ko.cleanNode(sec); // clean it again    </script>
查看完整描述

2 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個贊

ko.cleanNode由Knockout在內(nèi)部使用,以清理它創(chuàng)建的與元素相關(guān)的數(shù)據(jù)/計(jì)算。它不會刪除綁定添加的任何事件處理程序,也不會了解綁定是否對DOM進(jìn)行了更改。這肯定會引起問題,例如在隨后再次綁定元素時將多個處理程序附加到一個元素。

因此,我不建議使用此模式。更好的模式是使用節(jié)withtemplate節(jié)周圍的綁定,并允許使用新的綁定重新渲染它。


查看完整回答
反對 回復(fù) 2019-12-04
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個贊

我發(fā)現(xiàn)的一個合法用例是在測試綁定或組件時。我的afterEach函數(shù)清除包含綁定測試設(shè)置的元素,然后在其上運(yùn)行cleanNode以使KO忘記它。然后,我可以開始下一個beforeEach,再次設(shè)置綁定以進(jìn)行測試。這樣,我就完全封裝了測試。

查看完整回答
反對 回復(fù) 2019-12-04
  • 2 回答
  • 0 關(guān)注
  • 667 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號