我开始编写指令,我很确定我掌握了为指令定义“隔离”范围的整个概念。
我的指令numberRoulette
应该用随机数为提供的数字中的每个数字(或通过属性提供的数字数量fields="some-number-here"
)设置动画。每经过一秒,一个数字就会停止动画并设置为其预期的数字。有点像老虎机。。
<div ng-app="myApp">
<div ng-controller="MasterCtrl">
<span number-roulette fields="10" ng-model="number">
{{number}}
</span>
</div>
</div>
我遇到的问题是,当我在指令范围和控制器使用的范围之间进行双向绑定时MasterCtrl
,我的值停止显示。
app.directive('numberRoulette', function($timeout) {
return {
restrict: 'A',
scope: {showNumber: '=ngModel'},
...
};
});
function MasterCtrl($scope) {
$scope.number = 1000;
}
JSFiddle:http: //jsfiddle.net/nguyening/aX6Zm/3/