javascript - 从装饰器添加新属性

标签 javascript angularjs

我正在尝试在我父亲和指令的模板驱动程序之间传递参数,但这似乎出现故障

Controller 中的方法是

vm.activoHora = function(eventos, hora, dia) {

  var a = eventos;
  var b = hora;
  var c = moment(dia).format('MM/DD/YYYY');


  angular.forEach(eventos, function(value, key) {

    var fechaEv = moment(value.startsAt).format('MM/DD/YYYY');
    if (fechaEv === c)
      var horaEv = moment(value.startsAt).format('HH:mm');

    if (horaEv === b)
      $scope.valor = true;
    return $scope.valor;
  });

  return ({
    ' btn-danger disabled': $scope.valor
  });

}

这应该评估日期并返回一个对象 css 以禁用抽屉,evento 用于与模板通信

<mwl-calendar 
          evento="vm.activohora(event,hora,dia)" 
          events="vm.events" 
   ...........            
  </mwl-calendar>

以及使用 ng-class 评估的模板

 <li   class="list-group-item col-md-12 " ng-class="vm.evento(vm.view.events,h_m,day)" ng-repeat="h_m in [] | tiempoTabla:8:16:15" style="padding: 1px !important">
      <p  class="hora text-center" style=" margin: inherit" ng-click="vm.clic(day.date,h_m)">{{h_m}}</p>
 </li>

这里是出现问题的代码http://plnkr.co/edit/XihZabCHjLHtPiCQnbUi?p=preview

最佳答案

vm.activohora 被调用,而实际函数是vm.activoHora

$scope 正在被使用,但它没有注入(inject)到 Controller 中。

eventos、hora、dia 参数未在范围内定义。

问题需要仔细调试,与主题无关。属性绑定(bind)很好,但对于函数返回的对象应该使用单向绑定(bind) (@)。

关于javascript - 从装饰器添加新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33423529/

相关文章:

c# - Bing Maps Ajax API v7 地理定位回调

javascript - JS如何改变构造函数值

angularjs - 如果我正在运行 grunt 本地服务器,Soundcloud redirect_uri 应该是什么?

javascript - 工厂 AngularJS 中的访问 Controller 作用域函数

ios - Ionic 项目中的 Bower 包应该在 IOS 上工作吗?

javascript - Angular 数据绑定(bind)不起作用

javascript - 获取 SVG 路径的总长度

javascript - 使用 Javascript 将 MySQL 日期格式转换为 DD/MM/YY 日期格式

javascript - 如何检测移动设备

javascript - 如何在 AngularJS 指令中重新渲染模板?