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;
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
add a comment |
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
add a comment |
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
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
magento2 checkout knockoutjs knockout
asked Jul 12 at 5:12
summusummu
1841 silver badge11 bronze badges
1841 silver badge11 bronze badges
add a comment |
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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