在控制器中使用角度航点

时间:2015-09-04 04:38:41

标签: angularjs ionic jquery-waypoints

我正在尝试使用 https://github.com/zumba/angular-waypoints在我的一个离子项目中。

我有自述文件中提到的代码设置。

以下是模板代码段

<div zum-waypoint="waypoints"
 down="flags.on"
 up="flags.off"
    ng-show="shown()" style="opacity:{{opacity}}; ... </div>

文档没有说明如何在控制器中使用waypoints.flag.on值。

上面的模板是自定义指令的一部分 - 在我的指令控制器中,我尝试过:

    $scope.waypoints = {}
    $scope.waypoints.flags = {}

    $scope.$watch('waypoints.flags', function() {
        console.log("Flag on changed to "+JSON.stringify($scope.waypoints) + " for card = "+$scope.id)
        if ($scope.waypoints.flags.on){
            alert("Mark notification as Read for "+$scope.id)
            console.log("up changed" + $scope.waypoints.flags.on + " for id = "+$scope.id)
        }

        if ($scope.waypoints.flags.off){
            alert("2 Mark notification as Read for "+$scope.id)
            console.log("down changed " + $scope.waypoints.flags.off + " for id = "+$scope.id)
        }
    })

但这永远不会被召回。

但是,在我的模板中,如果我使用:

{{waypoints.flags.on}} // {{waypoints.flags.off}}

虽然在消化周期之后,它们显示为真//错。

请告诉我在控制器中使用航点标志的正确方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

这就是我所做的:自定义指令。它不需要zumba的角度航点,只需要jQuery航点。

app.directive('waypoint',function(){
  return {
    link: function(scope, $this, attrs) {
      $this.waypoint({
        handler: function() {
          scope.$parent.last = scope.post.id;
          scope.$parent.$apply();
        }
      })
    }
  }
});