﻿
{"id":3366,"date":"2015-11-03T12:52:35","date_gmt":"2015-11-03T12:52:35","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3366"},"modified":"2015-11-03T12:52:35","modified_gmt":"2015-11-03T12:52:35","slug":"knockoutjsde-ko-observable-metodu","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/knockoutjsde-ko-observable-metodu\/","title":{"rendered":"KnockoutJS&#8217;de ko.observable Metodu"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>KnockoutJS mimarisinde html elemanlara datalar\u0131m\u0131z\u0131 bind etmek i\u00e7in ko.observable metodunu kullanmaktay\u0131z.Bu metod, datan\u0131n bind edildi\u011fi eleman ile dinamik yap\u0131 sergilemektedir.Kastetti\u011fimiz o ki, ko.observable ile bind edilen nesne ve data yap\u0131lar\u0131ndan herhangi birinde de\u011fi\u015fiklik olursa an\u0131nda bu de\u011fi\u015fiklik di\u011ferinede yans\u0131yacakt\u0131r.<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&lt;input data-bind=&quot;value: Ad&quot; \/&gt;\r\n&lt;label data-bind=&quot;text: Ad&quot;&gt;&lt;\/label&gt;\r\n\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    function VMOrnek() {\r\n        Ad = ko.observable(&quot;Gen\u00e7ay&quot;);\r\n    }\r\n\r\n    $(document).ready(function () {\r\n        ko.applyBindings(VMOrnek);\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu incelerseniz e\u011fer bir &#8220;Ad&#8221; isminde property tan\u0131mlanm\u0131\u015f ve bu property hem input hemde label elemanlar\u0131yla bind edilmi\u015ftir.&#8221;ko.observable&#8221; metodu sayesinde bu \u00fc\u00e7l\u00fc ili\u015fkide herhangi bir veri de\u011fi\u015fikli\u011fi s\u00f6z konusu olursa di\u011ferlerinede yans\u0131yacakt\u0131r.<\/p>\n<div id=\"attachment_3367\" style=\"width: 250px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3367\" class=\"wp-image-3367 size-full\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu.png\" alt=\"KnockoutJS'de ko.observable Metodu\" width=\"240\" height=\"23\" \/><\/a><p id=\"caption-attachment-3367\" class=\"wp-caption-text\">&#8220;Gen\u00e7ay&#8221; de\u011feri yan\u0131na &#8220;Y\u0131ld\u0131z&#8221; de\u011ferinide girdi\u011fimiz anda Ad propertyimizdeki de\u011fi\u015fiklik label nesnesinede yans\u0131maktad\u0131r.<\/p><\/div>\n<p>A\u015fa\u011f\u0131daki farkl\u0131 yap\u0131y\u0131 incelerseniz ne demek istedi\u011fimi daha net anlayacaks\u0131n\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;input data-bind=&quot;value: Ad&quot; \/&gt;\r\n&lt;input data-bind=&quot;value: Ad&quot; \/&gt;\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    function VMOrnek() {\r\n        Ad = ko.observable(&quot;Gen\u00e7ay&quot;);\r\n    }\r\n\r\n    $(document).ready(function () {\r\n        ko.applyBindings(VMOrnek);\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Dikkat ederseniz iki adet input eleman\u0131 ayn\u0131 property ile bind edilmi\u015ftir.\u015eimdi herhangi birisinde olan de\u011fi\u015fiklik di\u011fer inputuda etkileyecektir.<br \/>\n<div id=\"attachment_3368\" style=\"width: 318px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3368\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-2.png\" alt=\"Soldaki se\u00e7ili inputta de\u011fer de\u011fi\u015ftirildi\u011finde...\" width=\"308\" height=\"24\" class=\"size-full wp-image-3368\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-2.png 308w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-2-300x23.png 300w\" sizes=\"auto, (max-width: 308px) 100vw, 308px\" \/><\/a><p id=\"caption-attachment-3368\" class=\"wp-caption-text\">Soldaki se\u00e7ili inputta de\u011fer de\u011fi\u015ftirildi\u011finde&#8230;<\/p><\/div><\/p>\n<div id=\"attachment_3369\" style=\"width: 318px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3369\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-3.png\" alt=\"Sa\u011fdaki se\u00e7ili inputta de\u011fer de\u011fi\u015ftirildi\u011finde...\" width=\"308\" height=\"23\" class=\"size-full wp-image-3369\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-3.png 308w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-3-300x22.png 300w\" sizes=\"auto, (max-width: 308px) 100vw, 308px\" \/><\/a><p id=\"caption-attachment-3369\" class=\"wp-caption-text\">Sa\u011fdaki se\u00e7ili inputta de\u011fer de\u011fi\u015ftirildi\u011finde&#8230;<\/p><\/div>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi ko.observable metodu bind edilen data ile elemanlar aras\u0131nda dinamik bir seyir izlemektedir.<\/p>\n<p><em><strong>Peki, ko.observable kullanmadan dinamik rol \u00fcstlenmeyen tarzda bir property kullan\u0131m\u0131 nas\u0131l ger\u00e7ekle\u015ftirilir?<\/strong><\/em> diye sorarsan\u0131z e\u011fer a\u015fa\u011f\u0131daki kod blo\u011funu inceleyiniz&#8230;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;input data-bind=&quot;value: Ad&quot; \/&gt;\r\n&lt;input data-bind=&quot;value: Ad&quot; \/&gt;\r\n\r\n&lt;label data-bind=&quot;text: Ad&quot;&gt;&lt;\/label&gt;\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    function VMOrnek() {\r\n        Ad = &quot;Gen\u00e7ay&quot;;\r\n    }\r\n\r\n    $(document).ready(function () {\r\n        ko.applyBindings(VMOrnek);\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi &#8220;Ad&#8221; isimli propertyi ko.observable metodu olmaks\u0131z\u0131n kullanmakt\u0131r.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-4.png\" alt=\"KnockoutJS&#039;de ko.observable Metodu - 4\" width=\"354\" height=\"23\" class=\"aligncenter size-full wp-image-3371\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-4.png 354w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/11\/KnockoutJSde-ko.observable-Metodu-4-300x19.png 300w\" sizes=\"auto, (max-width: 354px) 100vw, 354px\" \/><\/a><br \/>\nEkran g\u00f6r\u00fcnt\u00fcs\u00fcnden g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi &#8220;Ad&#8221; isimli propertynin bind edildi\u011fi hi\u00e7 bir elemanda veri de\u011fi\u015fikli\u011fi olmamaktad\u0131r.<\/p>\n<p>Bu i\u00e7eri\u011fimizde KnockoutJS k\u00fct\u00fcphanesinde olduk\u00e7a kullan\u0131\u015fl\u0131 ko.observable metodunu incelemi\u015f olduk.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar..<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>KnockoutJS mimarisinde html elemanlara datalar\u0131m\u0131z\u0131 bind etmek i\u00e7in ko.observable metodunu kullanmaktay\u0131z.Bu metod, datan\u0131n bind edildi\u011fi eleman ile dinamik yap\u0131 sergilemektedir.Kastetti\u011fimiz o ki, ko.observable ile bind edilen nesne ve data yap\u0131lar\u0131ndan herhangi birinde de\u011fi\u015fiklik olursa&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3014,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[796],"tags":[797,819,829,805],"class_list":["post-3366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knockoutjs","tag-knockoutjs","tag-ko","tag-ko-observable","tag-observable"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=3366"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3366\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3014"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}