How to use ko.observable on change of data and run a js function Magento 2Magento2 override admin js fileMagento 2 : Retreiving Data From Database, Use it in Knockout UI Component in CheckoutMagento 2 : How to change UI field(s) dynamicallyMagento2 : checkbox change function in knockout jsMagento 2 : From where and how does knockout retrieve data on checkoutHow to understand KnowkOutJs in Magento 2?Magento 2 : knockout data-bind:click not workingCan't validate Post Code on checkout pageUse Jquery in KO Js Magento 2How to update product details(details.html) in checkout on applying promo code Magento 2

Project Euler # 25 The 1000 digit Fibonacci index

How to create complicated tables (multiple nested columns and rows)

Redirection operator, standard input and command parameters

The most secure way to handle someone forgetting to verify their account?

When we are talking about black hole evaporation - what exactly happens?

Aren't all schwa sounds literally /ø/?

ESTA Travel not Authorized. Accepted twice before!

Does unblocking power bar outlets through short extension cords increase fire risk?

Inside Out and Back to Front

Why is there an extra "t" in Lemmatization?

What does Windows' "Tuning up Application Start" do?

What is the intuition for higher homotopy groups not vanishing?

What is the origin of "Wonder begets wisdom?"

"move up the school" meaning

How does the Gameboy's memory bank switching work?

"This used to be my phone number"

Three phase systems - are there any single phase devices that are connected between two phases instead of between one phase and neutral?

Why does airflow separate from the wing during stall?

Could a US citizen born through "birth tourism" become President?

Found old paper shares of Motorola Inc that has since been broken up

Fitting two-dimensional data

Nilpotent elements of Lie algebra and unipotent groups

How to tell readers that I know my story is factually incorrect?

I want light controlled by one switch, not two



How to use ko.observable on change of data and run a js function Magento 2


Magento2 override admin js fileMagento 2 : Retreiving Data From Database, Use it in Knockout UI Component in CheckoutMagento 2 : How to change UI field(s) dynamicallyMagento2 : checkbox change function in knockout jsMagento 2 : From where and how does knockout retrieve data on checkoutHow to understand KnowkOutJs in Magento 2?Magento 2 : knockout data-bind:click not workingCan't validate Post Code on checkout pageUse Jquery in KO Js Magento 2How to update product details(details.html) in checkout on applying promo code Magento 2






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















How can I run a js function on change of data, So I have heard of knockoutjs ko.observable



define([
'uiComponent',
'ko',
'Magento_Checkout/js/model/totals'
], function (Component, ko, totals) {
'use strict';
var quoteItemData = window.checkoutConfig.quoteItemData;
var finalSaleData = totals.totals().items;

return Component.extend(
defaults:
template: 'Magento_Checkout/summary/item/details'
,
quoteItemData: quoteItemData,
finalSaleData: finalSaleData,

/**
* @param Object quoteItem
* @return String
*/

getItems: function(item_id)
var itemElement = null;
_.each(this.finalSaleData, function(element, index)
if (element.item_id == item_id)
itemElement = element;

);
return itemElement;
,
getFinalSale: function (quoteItem)
var item = this.getItems(quoteItem.item_id);
var tagText = '';

if((((item.price*item.qty) - item.discount_amount)/(item.base_old_price*item.qty))< 0.5)
var tagText = 'Final Sale';
else
if(item.base_old_price && item.price)
// && item.price < item.price && item.base_old_price / item.price <= 0.5)
if(((item.base_old_price - item.price)/item.base_old_price)>0.5)
var tagText = 'Final Sale';



return tagText;
,
initObservable: function ()
totals.totals.subscribe(function (total)

, this);

return this;

getFinalSaleObs: ko.observable(this.getFinalSale(quoteItem))
);


);



But my ko.observable and subscribe is not working.
I am trying to run getFinalSale function every time the totals.totals data is changed or window.checkoutConfig.totalsData.item data.



How to achieve that.










share|improve this question




























    2















    How can I run a js function on change of data, So I have heard of knockoutjs ko.observable



    define([
    'uiComponent',
    'ko',
    'Magento_Checkout/js/model/totals'
    ], function (Component, ko, totals) {
    'use strict';
    var quoteItemData = window.checkoutConfig.quoteItemData;
    var finalSaleData = totals.totals().items;

    return Component.extend(
    defaults:
    template: 'Magento_Checkout/summary/item/details'
    ,
    quoteItemData: quoteItemData,
    finalSaleData: finalSaleData,

    /**
    * @param Object quoteItem
    * @return String
    */

    getItems: function(item_id)
    var itemElement = null;
    _.each(this.finalSaleData, function(element, index)
    if (element.item_id == item_id)
    itemElement = element;

    );
    return itemElement;
    ,
    getFinalSale: function (quoteItem)
    var item = this.getItems(quoteItem.item_id);
    var tagText = '';

    if((((item.price*item.qty) - item.discount_amount)/(item.base_old_price*item.qty))< 0.5)
    var tagText = 'Final Sale';
    else
    if(item.base_old_price && item.price)
    // && item.price < item.price && item.base_old_price / item.price <= 0.5)
    if(((item.base_old_price - item.price)/item.base_old_price)>0.5)
    var tagText = 'Final Sale';



    return tagText;
    ,
    initObservable: function ()
    totals.totals.subscribe(function (total)

    , this);

    return this;

    getFinalSaleObs: ko.observable(this.getFinalSale(quoteItem))
    );


    );



    But my ko.observable and subscribe is not working.
    I am trying to run getFinalSale function every time the totals.totals data is changed or window.checkoutConfig.totalsData.item data.



    How to achieve that.










    share|improve this question
























      2












      2








      2








      How can I run a js function on change of data, So I have heard of knockoutjs ko.observable



      define([
      'uiComponent',
      'ko',
      'Magento_Checkout/js/model/totals'
      ], function (Component, ko, totals) {
      'use strict';
      var quoteItemData = window.checkoutConfig.quoteItemData;
      var finalSaleData = totals.totals().items;

      return Component.extend(
      defaults:
      template: 'Magento_Checkout/summary/item/details'
      ,
      quoteItemData: quoteItemData,
      finalSaleData: finalSaleData,

      /**
      * @param Object quoteItem
      * @return String
      */

      getItems: function(item_id)
      var itemElement = null;
      _.each(this.finalSaleData, function(element, index)
      if (element.item_id == item_id)
      itemElement = element;

      );
      return itemElement;
      ,
      getFinalSale: function (quoteItem)
      var item = this.getItems(quoteItem.item_id);
      var tagText = '';

      if((((item.price*item.qty) - item.discount_amount)/(item.base_old_price*item.qty))< 0.5)
      var tagText = 'Final Sale';
      else
      if(item.base_old_price && item.price)
      // && item.price < item.price && item.base_old_price / item.price <= 0.5)
      if(((item.base_old_price - item.price)/item.base_old_price)>0.5)
      var tagText = 'Final Sale';



      return tagText;
      ,
      initObservable: function ()
      totals.totals.subscribe(function (total)

      , this);

      return this;

      getFinalSaleObs: ko.observable(this.getFinalSale(quoteItem))
      );


      );



      But my ko.observable and subscribe is not working.
      I am trying to run getFinalSale function every time the totals.totals data is changed or window.checkoutConfig.totalsData.item data.



      How to achieve that.










      share|improve this question














      How can I run a js function on change of data, So I have heard of knockoutjs ko.observable



      define([
      'uiComponent',
      'ko',
      'Magento_Checkout/js/model/totals'
      ], function (Component, ko, totals) {
      'use strict';
      var quoteItemData = window.checkoutConfig.quoteItemData;
      var finalSaleData = totals.totals().items;

      return Component.extend(
      defaults:
      template: 'Magento_Checkout/summary/item/details'
      ,
      quoteItemData: quoteItemData,
      finalSaleData: finalSaleData,

      /**
      * @param Object quoteItem
      * @return String
      */

      getItems: function(item_id)
      var itemElement = null;
      _.each(this.finalSaleData, function(element, index)
      if (element.item_id == item_id)
      itemElement = element;

      );
      return itemElement;
      ,
      getFinalSale: function (quoteItem)
      var item = this.getItems(quoteItem.item_id);
      var tagText = '';

      if((((item.price*item.qty) - item.discount_amount)/(item.base_old_price*item.qty))< 0.5)
      var tagText = 'Final Sale';
      else
      if(item.base_old_price && item.price)
      // && item.price < item.price && item.base_old_price / item.price <= 0.5)
      if(((item.base_old_price - item.price)/item.base_old_price)>0.5)
      var tagText = 'Final Sale';



      return tagText;
      ,
      initObservable: function ()
      totals.totals.subscribe(function (total)

      , this);

      return this;

      getFinalSaleObs: ko.observable(this.getFinalSale(quoteItem))
      );


      );



      But my ko.observable and subscribe is not working.
      I am trying to run getFinalSale function every time the totals.totals data is changed or window.checkoutConfig.totalsData.item data.



      How to achieve that.







      magento2 checkout knockoutjs knockout






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jul 12 at 5:12









      summusummu

      1841 silver badge11 bronze badges




      1841 silver badge11 bronze badges




















          0






          active

          oldest

          votes














          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "479"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f281810%2fhow-to-use-ko-observable-on-change-of-data-and-run-a-js-function-magento-2%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Magento Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f281810%2fhow-to-use-ko-observable-on-change-of-data-and-run-a-js-function-magento-2%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Grendel Contents Story Scholarship Depictions Notes References Navigation menu10.1093/notesj/gjn112Berserkeree

          Area configuration aggregation error after install Porto themeMagento 2.1 CE Installed but front/backend not loading/workingCSS not loading on page within Magento 2 pageCannot install module in Magento 2no commands defined in the “setup” namespace. in Magento2Magento 2: Static files are present but shows 404Why do i have to always run the commands to clean cache in Magento 2.1.8?Failure reason: 'Unable to unserialize value.'Error 500 after magento migrationIn production mode the site does not loadMagento 2 : Error 500 after installing

          Middle Expansion Olielle Resaix Definition: Uttering songs of triumph shouting with joy triumphant exulting Sejunction Journal 붙다 달 고급 품목 외출 The stretch trades the screeching tin. Definition: The act of speaking with a drawl a drawl Cough Sand Definition: An uproar a quarrel a noisy outbreak Shake Iron Publicize Horse House Baby 사과 Resaix Flaggy Jelly Temporary Unequaled Puppet A drop in the bucket Shrew 성격 회원 성질 미팅 The burn frames the tacky quality. Materialistic The smoke reduces the way. Yammoe Nondescript Cheek 얼굴 배 약하다 날리다 타다 The illegal country shows the iron. Help Rule Drearien Smoke Teaching Meaty Wasp Abraham Lincoln Jaws 진심 수리하다 Size Cork Idea Convert Think Lark John Lennon 거울 청소 군 추천하다 아이스크림