如何在 AngularJS 里对隐藏元素数据绑定?

发布于 2022-08-31 09:26:15 字数 389 浏览 8 评论 0

大概场景,比如有一个dropdown,当我选择下拉菜单的某个项后,Javascript会将一个type="hidden"或者display:none;input标签的值设为某个值,同时绑定在input上的一个Angular $scope的值也相应改变。

我试过在input上绑定ng-model、或者设置value="{{oneScope}}"但是Angular scope的值始终不随之改变,似乎Angular的数据绑定是基于input标签上发生的某个Javascript事件进行数据更新的……

于是这种场景下应该如何实现才能触发数据更新呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

睡美人的小仙女 2022-09-07 09:26:15

最后解决的方法是在使用jQuery对input进行赋值的时候调用$scope.$apply()函数更新数据,实现如下:

AngularDropDown : (selector, event = 'click') ->
    $(selector).dropdown
        on: event
        onChange: (text, value) ->
            $("#{selector} .text").html value
            $("#{selector} input.angularData").val text
            # 在Angular外调取$scope
            scope = angular.element($("#{selector} input.angularData")).scope()
            # 更新数据
            scope.$apply () ->
                scope.registData.defaltContact = text
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文