我正在尝试使用 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}}
虽然在消化周期之后,它们显示为真//错。
请告诉我在控制器中使用航点标志的正确方法。
谢谢。
答案 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();
}
})
}
}
});