ディレクティブをコントローラー内の変数にバインドしたいのですが、Angular.js ドキュメントからそれを行う方法がわかりません (Web を検索したり、egghead ビデオを見たりすることもできません)。
私は次のhtmlを持っています:
<body ng-app="MyApp">
<div ng-controller="triCtrl">
<div jqslider pleaseBindTo="firstValue"></div>
<br>
<br>
<br>
<br>
<div jqslider pleaseBindTo="secondValue"></div>
<p>{{firstValue.v}}</p>
<p>{{secondValue.v}}</p>
</div>
</body>
そして、次の JS:
function triCtrl($scope) {
$scope.firstValue = {"min":0, "max":100, "v":50};
$scope.secondValue = {"min":0, "max":1000, "v":450};
}
var myAppModule = angular.module('MyApp', []);
myAppModule.directive('jqslider', function() {
return {
link:function(scope, element, attrs) {
element.slider({
range: false,
min: scope.min,
max: scope.max,
value: scope.v,
slide: function( event, ui ) {
scope.v = ui.value;
scope.$apply();
}
});
}
};
});
&、@、= などで scope:{ } を使用していくつかの方法を試しましたが、うまくいきません。何か案は?属性をどこかにキャプチャする必要があることは理解していpleaseBindTo
ますが、どこでどのようにキャプチャするのかわかりません。