【发布时间】:2016-07-25 15:56:52
【问题描述】:
因此,我们正在将 Angular 1.3 范围的汤应用程序提升到 1.5 标准。但是我们注意到了一些奇怪的行为。当我们将 $scope 变量传递给组件绑定时,它似乎无法正确反映组件内对 $scope 变量所做的任何更改。
我们基于 $scope 的控制器:
app.controller('ParentCtrl', function ($scope) {
$scope.dates = [...array of dates...]
$scope.focusDate = new Date()
})
我们的组件标签:
<section-dates dates="dates" focus-date="focusDate"></section-dates>
组件本身:
app.component("sectionDates", {
bindings: {
dates: "=",
focusDate: "="
},
controller: function () {
this.onClickADate = function (date)
{
this.focusDate=date
}
...
}
单击新日期时,组件中的 focusDate 会发生变化,但不会在父控制器的 $scope 上发生变化。这是为什么呢?
【问题讨论】:
-
你试过在父控制器中使用'this'吗?
标签: javascript angularjs components