0

このスクリプトを 2 つの異なる日付で機能させようとしています。

http://fiddle.jshell.net/yXjkq/1/

最初のものでは機能しますが、2番目のものでは機能しません。そして、私はその理由を理解しようとしていますか?

JavaScript:

var mySecondModule = angular.module('MyReportModule', []);

function TheReportCtrl($scope) {
    $scope.selectedDate = "Aladdin";
    $scope.selectedDate2 = "Aladdin2";
}
mySecondModule.directive('datepicker', ['$parse', function($parse) {
    return {
        restrict: "A",
        link: function(scope, element, attrs) {
            //using $parse instead of scope[attrs.datepicker] for cases
            //where attrs.datepicker is 'foo.bar.lol'
            parsed = $parse(attrs.datepicker);
            $(element).datepicker({
                onSelect: function(dateText, inst) {
                    scope.$apply(function(){
                        parsed.assign(scope, dateText);
                    });
                }
            })
        }
    }
}]);

HTML:

<div ng-app="MyReportModule">
  <div ng-controller="TheReportCtrl">

   <input type="text" datepicker="selectedDate" />{{selectedDate}} 
   <input type="text" datepicker="selectedDate2" />{{selectedDate2}} 

</div>
</div>
4

1 に答える 1

1

parsed = $parse(attrs.datepicker);これを変更するとvar parsed = $parse(attrs.datepicker);うまくいきました。試してみて、私たちに知らせてください。

于 2013-04-01T23:55:24.983 に答える