长话短说,如果我在这里将<
更改为=
,它就有效:
const rtmNav = {
bindings: {
from:'<',
to:'<',
submit: '&'
},
controller: angular.noop,
templateUrl: require('./rtmNav.html')
}
export default rtmNav;
这是定义dataa
对象的控制器:
class DemandCtrl {
constructor(ChartDataService) {
this.ChartDataService = ChartDataService;
debugger;
this.dataa = {
from: '10/01/2017',
to: '10/03/2017'
};
}
$onInit() {
getData.call(null, this);
}
update() {
getData.call(null, this);
}
}
该组件如下所示:
<div class="rtm-nav">
<div ng-app>
<form ng-submit="$ctrl.submit()">
<label>From:
<input type="text" name="input" ng-model="$ctrl.from">
</label>
<label>To:
<input type="text" name="input" ng-model="$ctrl.to">
</label>
<input type="submit" id="submit" value="Apply" />
</form>
</div>
</div>
这样的html页面:
<div class="demand page">
<rtm-header title="Demand" icon="fa fa-line-chart" link=true></rtm-header>
<rtm-nav from="$ctrl.dataa.from", to="$ctrl.dataa.to", submit="$ctrl.update()">
</rtm-nav>
<div id="chart" class="demand-chart">
</div>
</div>
首次运行应用程序时,它会显示硬编码值(10/01/2017
和10/03/2017
)之间的图表。如果它是双向数据绑定,如果我更改这些值并单击apply
,它将使用新数据重新呈现图表。
我的约束是单向数据绑定。
我不知道该怎么做,显示我在update()
中发送新参数,还是应该在组件中以某种方式添加它们?