我在使用 ion-slide-box 时遇到问题
我想实现如下两种方式绑定
任何帮助表示赞赏
谢谢
我找到了解决方案。可能有更好的方法来解决它,但我现在只能想到这个
我必须稍微修改 ion-slide-box 指令
这是我的代码:
Ionic bundle.js(在这里创建两种方式绑定)
IonicModule.directive('ionSlideBox', [........,
function(...){
return{
scope:{
counter: "=",
......
},
controller: [.....,function(){
_this.getCounter = function(){
return $scope.counter;
}
_this.setCounter = function(val){
scope.counter = val;
$scope.$broadcast( "IncrementValue" );
}
}]
}
}
指令.js
directive('updateCounter', function(){
return{
restrict : 'A',
scope : false,
require : '^ionSlideBox',
link : function(scope,element, attrs,ctrl){
$(element).click(function(){
scope.counter = ctrl.getCounter();
scope.counter--;
ctrl.setCounter(scope.counter);
})
}
}})
视图控制器.js
$scope.$on(
"IncrementValue",
function handleIncrementValue() {
$scope.counter++;
}
);
$scope.triggerEvent = function() {
$scope.$broadcast( "IncrementValue" );
};
查看.html
<ion-slide-box counter="counter">
<ion-slide>
<button ng-click="trigger()">Increment box</button>
<button update-counter>Decrement box</button>
</ion-slide>
</ion-slide-box>
如果有更好的方法请告诉我
谢谢