Javascript 将参数从指令发送到AngularJS中的控制器

Javascript 将参数从指令发送到AngularJS中的控制器,javascript,angularjs,controller,Javascript,Angularjs,Controller,在oferta ut.controller.js的内部,我需要将状态从main.ut.ofertas更改为main.ut.resumen。然后选择一些内容并调用scope。单击ut result.directive.js中的Action。此操作应将参数发送到oferta ut.controller.js的,以便我可以将其与其他参数一起使用以转到另一个状态 这里有一些代码 servicio-ut.controller.js oferta-ut.controller.js 该操作的视图如下所示 &l

在oferta ut.controller.js的
内部,我需要将状态从
main.ut.ofertas
更改为
main.ut.resumen
。然后选择一些内容并调用
scope。单击
ut result.directive.js中的Action
。此操作应将参数发送到oferta ut.controller.js的
,以便我可以将其与其他参数一起使用以转到另一个状态

这里有一些代码

servicio-ut.controller.js oferta-ut.controller.js 该操作的视图如下所示

<div flex>    
    <pager results="ctrl.ofertas.resultadoBusquedaUt" per-page="10" result-type="UT"></pager>
</div>

ut-result.directive.js
“严格使用”;
var utResultView=require('./ut result.view.html'),
imgPlaceHolder=require('../../img/hotel_holder.png');
函数hotelResult(util,$state,moment){
"ngInject",;
var指令={
模板URL:utResultView,
限制:“EA”,
范围:{
型号:'=',

params:“
$watch
方法中侦听器函数的签名应该是
函数(newVal,oldVal
,与问题中的情况不同。好的,谢谢你的建议,但我不确定问题是从那里来的。但无论如何,我会做更改。
$watch
方法中侦听器函数的签名应该是
函数(newVal,oldVal
,与问题中的操作不同。好的,谢谢你的建议,但我不确定问题是否出在那里。但无论如何,我会做更改。
'use strict';

function ofertasUtCtrl($scope, $stateParams, $state, 
  unidadTuristicaService, moment, util, SessionService, $analytics, $window) {
  'ngInject';
  var ctrl = this,

  if (!$stateParams.servicio) {
    $state.go('main.home');
  } else {
    ctrl.ofertaSeleccionada=null;
    activate();
  }

  function activate() {

    var fechaEntrada = $stateParams.fechaEntrada.getFullYear() + "-" +
     ($stateParams.fechaEntrada.getMonth() + 1) + "-" +
     $stateParams.fechaEntrada.getDate();

    var fechaSalida = $stateParams.fechaSalida.getFullYear() + "-" +
     ($stateParams.fechaSalida.getMonth() + 1)  + "-" +
     $stateParams.fechaSalida.getDate();     

    unidadTuristicaService.obtenerOfertasUt(
        $stateParams.plan.id,$stateParams.servicio.code,
        $stateParams.destino.id,
        fechaEntrada,
        fechaSalida,
        $stateParams.duracion.id)
    .then(function(ofertas){
      for(var clave in ofertas.resultadoBusquedaUt){
        ofertas.resultadoBusquedaUt[clave].fechaDesde = moment(fechaEntrada).format('DD/MM/YYYY');
        ofertas.resultadoBusquedaUt[clave].fechaHasta = moment(fechaSalida).format('DD/MM/YYYY');
      }
      ctrl.ofertas = ofertas;
    });    
  } 

  ctrl.confirmarServ = function() {
      $analytics.eventTrack("Clic Siguiente", {
          category: 'UT',
          label: "Clic Servicios UT"
      });

      $state.go('main.ut.resumen', {
        plan: $stateParams.plan,
        destino: $stateParams.destino,
        fechaEntrada: ctrl.fechaEntrada,
        fechaSalida: ctrl.fechaSalida,
        huespedes: ctrl.cantHuespuedes,
        duracion: $stateParams.duracion,
        servicio: ctrl.servicioInc
      });       
  };
}

module.exports = ofertasUtCtrl;
<div flex>    
    <pager results="ctrl.ofertas.resultadoBusquedaUt" per-page="10" result-type="UT"></pager>
</div>
"use strict";

var utResultView = require('./ut-result.view.html'),
  imgPlaceHolder = require('../../img/hotel_holder.png');

function hotelResult(util, $state, moment) {
  'ngInject';
  var directive = {
      templateUrl: utResultView,
      restrict: 'EA',
      scope: {
        model: '=',
        params: '<'
      },
      link: link
  };
  return directive;

  function link(scope) {
    scope.icono = mapearIcono;

    scope.filterHide = function() {
      // ver si está filtrado por algun criterio
      return scope.model.filterHide && scope.model.filterHide.length > 0;
    };

    var unbindWatch = scope.$watch("model", function(oldV, newV) {
      if (newV) {
        activate();
      }
    });

    function activate() {
      // iterador para estrellitas
      scope.estrellas = [1,2,3,4,5].slice(0, scope.model.estrellas);
      //Categoria UT
      scope.categoriaUt = scope.model.categoriasUt;
      scope.datosPrestador = scope.model.razonSocial + ' - CUIT: '  + scope.model.cuit;

      scope.imgSrc = scope.model.urlImagen || imgPlaceHolder;
      scope.imgError = imgPlaceHolder;
      scope.precio = scope.model.precio? util.formatCurrency(scope.model.precio) : null;

      scope.clickAction = function(model) {
        // THIS ACTION
      };
  }
}

module.exports = hotelResult;