Knockout 学习笔记1 with对象用法需要注意的地方

<form data-bind="submit: getTweets">
    Twitter account:
    <input data-bind="value: twitterName" />
    <button type="submit">Get tweets</button>
</form>


<div data-bind="with: resultData">
    <h3>Recent tweets fetched at <span data-bind="text: retrievalDate"> </span></h3>
    <ol data-bind="foreach: topTweets">
        <li data-bind="text: text"></li>
    </ol>


    <button data-bind="click: $parent.clearResults">Clear tweets</button>
</div> 


function AppViewModel() {

            var self = this;
             self.twitterName = ko.observable('example');
            self.resultData = ko.observable(); // No initial value



            self.getTweets = function () {

                var name = self.twitterName(),   

               要点1:这里twitterName是视图对象的一个属性,应用了Observable之后,它应该具备函数的功能。在赋值给其他变量时,需要写(),忘记带(),则会出现错误。

               即如果写成这样则会出现错误,var name=self.twitterName,


                    simulatedResults = [
                        { text: name + ' What a nice day.' },
                        { text: name + ' Building some cool apps.' },
                        { text: name + ' Just saw a famous celebrity eating lard. Yum.' }
                    ];


                self.resultData({ retrievalDate: new Date(), topTweets: simulatedResults });

              要点2:同要点1,注意赋值的方式,如果直接将一个对象赋给它,写成下面这样,则是错误的

               self.resultData = { retrievalDate: new Date(), topTweets: simulatedResults };

            }


            self.clearResults = function () {
                self.resultData(undefined);
            }
        }


        ko.applyBindings(new AppViewModel());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值