AngularJS材质-ng-model和ng-change访问相同对象值的问题

时间:2018-12-13 15:15:38

标签: javascript angularjs angular-material

我正在使用角度材质,并且有一个md-switch项,其模型是根据JS对象中的值设置的。我面临的挑战是,当用户单击开关时,我不想直接更改对象值-相反,我想执行对象中的函数来为我更改值。

在代码(或下面的JSFiddle)中,您可以看到切换状态永远不会改变。

这是一个简单的例子,所以它没有说明原因,但是有可能这样吗?

这是示例代码

HTML

last_friday = datetime.now().date() - timedelta(days=datetime.now().weekday()) + timedelta(days=4, weeks=-1)
print(df[df['date'] <= pd.Timestamp(last_friday)])

JS

<div class="inset switchdemoBasicUsage" ng-controller="SwitchDemoCtrl" ng-cloak="" ng-app="MyApp">
  <md-switch ng-model="data.state" aria-label="Switch 2" class="md-primary" ng-change="data.change()">
    {{ data.state }}
  </md-switch>
</div>

这是JSFiddle的链接:http://jsfiddle.net/wx8s709z/

1 个答案:

答案 0 :(得分:1)

问题不在于它永远不会更改,而是您将其更改了两次。 第一次单击时更改,第二次通过功能更改。因此,如果将代码注释到调用函数中,您将看到所有工作正常。

ng-change是事件,它指示您更改了值,然后可以仅使用$ scope.data.state

调用具有其值的另一个函数
相关问题