javascript - How to check object has any property in knockout js -


how check whether observable object has property exist in knockout js.
have tried hasownproperty , return false me.

my code follows:

    <div data-bind="click:setobject">click here</div>     <div data-bind="click:init">check console</div>     <script>         var viewmodel = function() {             var self = this;             this.arrayval = ko.observable({});             this.setobject = function(){  /* have set property here  */                 self.arrayval({                     id:10                 });             };             self.init = function(){                 console.log(self.arrayval());                 console.log(self.arrayval.hasownproperty('id'));  /* on second click (after setobject ) expect trut,but returned false */             }             self.init();         };         ko.applybindings(new viewmodel());      </script> 

you need obtain value inside arrayval observable:

console.log(self.arrayval().hasownproperty('id')); 

the observable has method hasownproperty not property id, therefore

self.arrayval.hasownproperty('id');    // false, 'id' doesn't exist on observable 

while

self.arrayval().hasownproperty('id');    // true, 'id' exists on observable's value 

Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

android - CollapsingToolbarLayout: position the ExpandedText programmatically -

Listeners to visualise results of load test in JMeter -