angular.js - angularjs双向绑定
世界只因有你
世界只因有你 2017-05-15 16:55:24
[AngularJS讨论组]

input有个ng-model绑定,手动输入能改变这个值,我用jquery改变了一个input的值$('#dd').val('str');
然后scopemodel不变
求救

世界只因有你
世界只因有你

全部回复(2)
漂亮男人

如果使用angular way 修改更新DOM或者变量的值的话, 不需要进行额外操作.

但是如果脱离了angular, 使用类似于jquery这样, 不在angular的体系内的代码的话, 你进行了修改需要通知angular, 让angular获取最新的值, 以反映到页面中.

所以你可以使用下面的方法, 通知angular

$scope.$apply(function(){
    jQuery('input').val(newValue);
})
怪我咯

正确的方法是……不要手动去改view。
提议:
1、试着把model暴露出来,然后去修改model吧,改完之后调用$scope.$apply()。另外,为了避免各种不可预期的错误,你可以这样写setTimeout(function(){$scope.$apply()},0)。
2、无论如何,你有这种需求,肯定是因为发生了什么事件,用户操作或者是ajax之类的。ajax操作可以用Angular提供的$http服务,用户操作呢,则通常都可以封装到directive里面。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号