指令/控制器与监视表达式之间的双向绑定

时间:2013-11-15 16:40:26

标签: javascript angularjs

使用Angular 1.0.8 - 我无法更新。

我创建了一个简单的datepicker指令,用于创建带有日期选项的三个<select>。这使用隔离范围来存储选择并根据月/年更新显示的天数。我还需要将派生的日期(年 - 月 - 日)传递回控制器,但我无法弄清楚如何做到这一点。

app.directive("datepicker", function () {
    return {
        restrict: "E",
        scope: { current: "=" },
        controller: function ($scope) {
            // logic for d/m/y on scope omitted

            $scope.watch(dateHasChanged, function (newValue) {
                $scope.current = newValue;
            });
        }
    }
});

控制器有$scope.current = {answer: ""},因此我尝试使用scope: {current: "="}在指令和控制器之间创建绑定。这显然根本不起作用。

JSFiddle example


作为奖励,ng-options="month.date as month.english for month in monthList"也无法正常工作。它始于month.date为0,即使monthList的第一个month.date为1.这可能是因为版本?

1 个答案:

答案 0 :(得分:1)

您正在覆盖scope.current对象,应该更新scope.current[property]

日期计算中的轻微错误,但working here