recibir parametros poniendolos directo como props y solo mostrarlos en el template con vue

Tengo una tabla en vue que permite mostrar la siguiente información de una venta o carrito abandonado:

<div class="row col-lg-6 d-flex justify-content-center">                   <table class="table col-sm-4">                     <thead>                         <tr>                           <th>Subtotal</th>                           <td class="table-light">{{ subtotal | currency }}</td>                         </tr>                         <tr>                           <th>Descuento</th>                           <td class="table-light">{{ discount | currency }}</td>                         </tr>                         <tr>                           <th>Envío</th>                           <td class="table-light">{{ shipping | currency }}</td>                         </tr>                         <tr>                           <th>Impuesto</th>                           <td class="table-light">{{ taxes | currency }}</td>                         </tr>                         <tr>                           <th>TOTAL</th>                           <th class="total">{{ total | currency }}</th>                         </tr>                     </thead>                   </table>                 </div> 

introducir la descripción de la imagen aquí

El componente debe recibir los siguientes parametros subtotal shipping taxes discount total

y tengo que contemplar que el envío no siempre estará presente, y cuando esto ocurra no mostrar la información de envio.

Deberia recibir esos parametros poniendolos directo como props y solo mostrarlos en el template? Como realizarlo correctamente?

¿como calcular subtotal y sumar otros parametros para obtener el total con VueJS?

Tengo la siguiente tabla estatica que muestra el subtotal,descuento,envio,impuesto y total.

<div class="container-fluid d-flex justify-content-center">                      <div class="row col-lg-6 d-flex justify-content-center">                        <table class="table col-sm-4">                         <thead>                             <tr>                               <th>Subtotal</th>                               <td class="table-light">$  242</td>                             </tr>                             <tr>                               <th>Descuento</th>                               <td class="table-light">$  0</td>                             </tr>                             <tr>                               <th>Envío</th>                               <td class="table-light">$  0</td>                             </tr>                             <tr>                               <th>Impuesto</th>                               <td class="table-light">$  42[Incluido]</td>                             </tr>                             <tr>                               <th>TOTAL</th>                               <th class="total">$  242</th>                             </tr>                         </thead>                       </table>                      </div>                   </div> 

Lo que debo lograr es que El componente reciba los siguientes parametros:

  • subtotal
  • shipping
  • taxes
  • discount
  • total

y contemplar que el envío no siempre estará presente, cuando esto ocurra no mostrar la información del valor de envío.

Intento realizar la logica con propiedades computadas pero necesito ayuda en vincular mis parametros y que las funciones sean correctas. (muestro lo que tengo)

computed: {         subtotal: function() {             var subtotal = 0;              this.items.forEach(items => {               subtotal += item.item.price * item.numberOfItems;              });              return subtotal;          },          tax: function() {         return this.subtotal * 1.21;          },          total: function() {         return this.subtotal + this.tax;          }   } } 

Misma ruta, diferentes parámetros para mismo componente Angular

Estoy utilizando el router de angular con una ruta que utiliza un parámetro. Con esa ruta cargo un componente que es siempre el mismo pero quiero que tenga unos datos u otros en función del parámetro que se le pase.

const routes: Routes = [   { path: '', redirectTo: '/inicio', pathMatch: 'full' },   { path: 'inicio', component: PaginaInicioComponent },   { path: 'edificios/:nombre', component: DatosEdificioComponent }, <--ruta   ..... ]; 

Componente:

@Component({   selector: 'app-datos-edificio',   templateUrl: './datos-edificio.component.html',   styleUrls: ['./datos-edificio.component.css'] }) export class DatosEdificioComponent implements OnInit {     constructor(     private route: ActivatedRoute,     private edificioService: EdificioService,     private location: Location     ) { }    ngOnInit() {     this.getDatosEdificio();     console.log("oniniiit");   }    getDatosEdificio(): void {     const nombreEdificio = this.route.snapshot.paramMap.get('nombre').toString();      this.edificioService.getDatosEdificio(nombreEdificio)         .subscribe(edificios =>{           // Obtengo los datos del edificio         });    } 

Hasta aquí todo correcto. La primera vez que accedo a una ruta, por ejemplo ‘edificios/Aulario’ funciona perfectamente, pero si una vez cargado ese componente la siguiente ruta a la que accedo es ‘edificios/Hospital’ el componente sigue teniendo los datos del edificio del Aulario.

He observado que el mensaje del console.log("oninit") sólo se imprime la primera vez, así que deduzco que como es el mismo componente al que se quiere acceder a través del router no lo crea de nuevo y se queda con los datos que tenía anteriormente.

Me gustaría que cada vez que se acceda a la ruta pudiera obtener los datos del nombre del edificio que le pase como parámetro. ¿Cómo podría hacerlo?

Nodejs Express EJS Como pasar parametros por ‘router’ a un menu template que esta en todas las vistas

Buneas quisiera tener un menubar disponible en todas mis vistas, para ello uso:

 <!--MENU BAR--> <%- include ./partials/menubar %> 

Lo que pasa que lo tengo en una estructura de templates de la siguiente manera :

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">     <meta http-equiv="X-UA-Compatible" content="ie=edge">     <!-- Bootstrap -->     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">   <body>     <!--MENU BAR-->     <%- include ./partials/menubar %>      <!-- CUERPO PAGINA -->     <div class="container">         <%-  body    %>      </div>      <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>         <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script></head>     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script></body>  </html> 

El menubar es el siguiente:

<nav class="navbar navbar-expand-lg navbar-light bg-light">         <a class="navbar-brand" href="/">Inicio</a>         <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">           <span class="navbar-toggler-icon"></span>         </button>          <div class="collapse navbar-collapse" id="navbarSupportedContent">           <ul class="navbar-nav mr-auto">             <li class="nav-item dropdown">               <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">                 Personajes               </a>               <div class="dropdown-menu" aria-labelledby="navbarDropdown">                  <% for(var i = 0; i< 10; i++) { %>                  <a class="dropdown-item" href="personajes">Personaje <%= i %></a>                 <% } %>              </li>           </ul>         </div>       </nav> 

Lo que pretendo es que, de alguna manera la barra de menu haga un for de los objetos que le pase y siempre este el combobox dropdown con una lista de nombres de los personajes. Mi problema es que si mi menu se incrusta en las demas paginas… ¿Como puedo hacer que siempre lleve la memoria de sus datos? Es decir que sepa siempre, independientemente de donde este implementando el menu sus datos como el de los personjes y tal, porque cuando vaya por ejemplo a ‘/inicio/’ a lo mejor los reconoce pero si voy a ‘/personajes/getall’ ya no.

ROUTINGS..

routes/index.js

    const express = require('express');     const routes = express.Router();       routes.get('/',(req,res)=>{         res.render('inicio')     });      module.exports = routes; 

routes/personajes.js

const express = require("express"); const routes = express.Router(); const Personaje = require("../models/personajes")();  routes.get("/", (req, res) => {   res.render("personajes" ); });  routes.post("/add", (req, res) => {   const {     nombre,     apellidos,     profesion_estudios,     fecha_nacimiento,     descripcion,     actor   } = req.body;    var newPersonaje = {     nombre,     apellidos,     profesion_estudios,     fecha_nacimiento,     descripcion,     actor   };    Personaje.create(newPersonaje)     .then(personaje => {       res.send({         message: "Personaje guardado correctamente !!"       });     })     .catch(err => {       res.send({         message: "Error al guardar el personaje nuevo !!"       });     }); });  routes.get("/getall", (req, res) => {   Personaje.find()     .then(personajes => {       res.send(personajes);     })     .catch(err => {       res.send({         error: err       });     }); });  routes.get("/get/:id", (req, res) => {   const id = req.params.id;    Personaje.findById(id)     .then(personaje => {       res.render('personajes',{           personaje:personaje       })     })     .catch(err => {       res.send({         message: "Error al encontrar personaje con id ",         id       });     }); });  routes.delete("/:id", (req, res) => {   var id = req.params.id;    Personaje.deleteOne({ _id: id })     .then(personaje => {       res.send({         message: `Personaje borrado`       });     })     .catch(err => {       res.send({         message: "Error al borrar"       });     }); });  module.exports = routes; 

Sumar datos de una tabla sql cuando le envio parametros desde otra pagina

En mi index hago un include al archivo donde tengo la clase ticket y el de la conexion a mi base de datos.

En el index llamo a una funcion dándole 2 parametros, el de conexión a mi base de datos y el que obtengo al loguearme para que busque en mi base de datos la suma de todos los campos que esten en el campo prioridad

$  consulta2 = $  ticket->ListGananciasCloseEmpleado($  conexion, $  _SESSION['ticket_id']); 

en mi funcion tengo lo siguiente

 function ListGananciasCloseEmpleado($  conexion, $  id){         $  fecha  = date("Y-m-d");         $  consulta2 = mysqli_query($  conexion, "SELECT SUM(recarga) as Total                                              FROM ticket                                               JOIN usuario AS u                                              ON t.id_usuario = u.id                                              WHERE t.status = '3' AND t.id_usuario = ".$  id."  AND t.fecha_creacion ='".$  fecha."' ORDER BY t.id DESC ")                                               or die("Error listando Ticket: ".mysqli_error($  conexion));          return $  consulta2;     } 

obtengo NULL en la respuesta pero en mi base de datos si tengo el campo en mi bd introducir la descripción de la imagen aquí

Aqui muestro como estoy haciendo el fetch

 $  fila=$  consulta2->fetch_assoc();   $  TotalPrecios=$  fila['Total'];     echo $  TotalPrecios; 

Trato de sumar todos los registros que haya en cada ticket ingresado ¿en que estoy fallando exactamente?

Esconder parametros na URL?

Olá, estou tendo problemas para esconder os parametros de um link e já tenho tentado de diversas formas e diversos tutoriais.

O link está desta forma: http://site.com.br/noticia?id=13&ref=postagem-202

Queria que ficasse

http://site.com.br/noticia/n13-postagem-202 ou http://site.com.br/noticia/13/postagem-202

Dúvida na passagem de parâmetros via AJAX para Action ASP NET CORE

Amigos, estou tendo dificuldade na hora de passar um valor para a Action de um controller específico que recebe como parâmetro um id do tipo int.

AJAX

var dataForm = $  ("#statisticId").val();           $  .ajax({             contentType: "application/json",             type: "POST",             url: "Statistic",             dataType: "json",             data: dataForm,             success: function (_response) {                 console.log(_response);             }         });

Action Statistic

[HttpPost] public IActionResult Statistic([FromBody]int dataForm) {     var statistics = statisticPatientBLL.GetStatisticById(dataForm);     return Json(statistics); } 

Já verifiquei se está realmente passando qualquer valor, e sim, ele exibe corretamente quando coleto o value de um elemento HTML. Não consegui encontrar uma resposta pra isso. Alguém poderia me ajudar? Seria algum problema na questão de rotas? O que há de errado nesse código?

Como pasar parametros a un TabNavigator React Native

Como puedo pasar datos de una pantalla y que en mis pantallas que conforman mi TabNavigator pueda acceder al parámetro: Envio el parametro desde Login:

            <TouchableOpacity              onPress={() => this.props.navigation.navigate('Invitado',{ IDNombre: 'Invitado'})} style={styles.buttonCerrar}></TouchableOpacity> 

y necesito recibirlo y enviarlo a cada una de mis vistas

            const RootStack = createBottomTabNavigator(                 {                     Home: {                         screen: Servicios,  
                    },                     History: {                         screen: Historial,                     },                     Perfil: {                         screen: Perfil,                       },                  },             {                 defaultNavigationOptions: ({ navigation }) => ({                     tabBarIcon: ({ focused, tintColor }) =>                         getTabBarIcon(navigation, focused, tintColor),                  }),                 tabBarOptions: {                     showLabel: false,                     activeTintColor: '#63286A',                     inactiveTintColor: 'gray',                 },             },              ); 

Como invocar métodos por tipos de parâmetros?

Tenho 4 métodos, e quero invocar cada um de acordo o seu parâmetro:

 public void Weight(int Weight) {   Console.WriteLine("peso: {0}", Weight);  }  public void Age(int age) {   Console.WriteLine("idade: {0}", age);  }  public void InfoArgs(string name, string nationality) {   Console.WriteLine("nome: {0} nacionalidade: {1}", name, nationality);  }  public void Height(int height) {   Console.WriteLine("altura: {0}", height);  } 

Vamos supor que quero invocar o método que tenha UM parâmetro do tipo (int), no caso eu teria que chamar os dois métodos acima: Weight() e Age() porque só eles se espelham nisso.

Sei que tem como fazer isso via reflexão, mas não entendo muito. Se o delegate ou action ou EventHandler fizer isso, tem como ilustrar por favor?

¿Por qué no sale reportviewer cuando estoy enviando parametros correctamente?

Buenas tengo éste código que lo que hace es mandar a llamar un tableadapter, mandar su parametro para llenar el datatable en el dataset, cuando envio los parametros todo carga bien pero cuando empieza a cargar el reportviewer sale éste mensaje. (En el reporte tengo un tablix que se llena con los campos de “CamposConsolidado” y su origen de datos es el dataset.) introducir la descripción de la imagen aquí

Aquí está el codigo que utilizo para enviar el parametro al TableAdapter. introducir la descripción de la imagen aquí Muchas gracias. Posdata: Ignoren el if(true) haha, estaba haciendo más pruebas.