javascript - 使用 jquery val 更新 $scope

标签 javascript jquery angularjs

我目前正在开发一个 jQuery 应用程序,并试图逐渐将其更改为 angularJS。我不想更改所有现有的 jQuery 代码。 jQuery 代码进行 ajax 调用并根据 ajax 结果更新变量。 我需要在我的 Angular 范围内得到这个结果。 我试图创建一个隐藏的输入,或不显示输入并使用 jQuery $('#accountId').val(value) 更新它:

<input type="text" ng-model="account.accountId" style="display:none" id="accountId" name="accountId">

但是我的 $scope 变量 $scope.account.accountId 没有更新。

我还尝试了 ng-value、jquery 触发器输入...

谢谢

最佳答案

正如其他人所说,这并不理想。但是,只要您保持代码模块化,它也不应该是一个太大的问题。尝试创建一个服务来管理您的 jQuery ajax 请求,然后将该服务作为依赖项注入(inject)到您的 Controller 中。

一个简单的例子可能是这样的:

angular.module('app', [])

  // jQuery managed ajax service
  .service('AccountSvc', function() {
    var BASE_URL = '/accounts';

    this.getAccount = function(id) {

      // I'm assuming this returns a promise
      // haven't worked with jQuery for a while
      return $.get(BASE_URL + '/' + id);
    };

  })

  .controller('AccountsCtrl', function($scope, AccountSvc) {

    AccountSvc.get(123).then(function(account) {
      $scope.account = account;
    });

  });

关于javascript - 使用 jquery val 更新 $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131003/

相关文章:

javascript - 如何在我的网站上添加 "Add to Favorites"按钮或链接?

javascript - 如何用变量重命名对象的键?

jquery - 在 jQuery 中删除父 <td>

javascript - jQuery DataTables TableTools Export - 获取复选框或单选项的值

javascript - 在 ng-click 范围之外调用 javascript 函数

javascript - innerHTML 从图像标签中删除结束斜线

javascript - 获取在 Javascript 中输入的最后一个单词

javascript - 如何在动态元素上添加多个类,其中一个类的数字递增?

javascript - Angularjs 对象属性

javascript - 如何在单击时打开 Ionic Modal?