大概场景,比如有一个dropdown,当我选择下拉菜单的某个项后,Javascript会将一个type="hidden"或者display:none;的input标签的值设为某个值,同时绑定在input上的一个Angular$scope的值也相应改变。我试过在input上绑定ng-model、或者设置value="{{oneScope}}"但是Angularscope的值始终不随之改变,似乎Angular的数据绑定是基于input标签上发生的某个Javascript事件进行数据更新的……于是这种场景下应该如何实现才能触发数据更新呢?
2 回答

慕斯709654
TA贡献1840条经验 获得超5个赞
最后解决的方法是在使用jQuery对input进行赋值的时候调用$scope.$apply()函数更新数据,实现如下:AngularDropDown:(selector,event='click')->$(selector).dropdownon:eventonChange:(text,value)->$("#{selector}.text").htmlvalue$("#{selector}input.angularData").valtext#在Angular外调取$scopescope=angular.element($("#{selector}input.angularData")).scope()#更新数据scope.$apply()->scope.registData.defaltContact=text
添加回答
举报
0/150
提交
取消