javascript - 通过 jQuery 回调修改作用域变量

标签 javascript angularjs coffeescript

我有以下代码片段:

  $scope.addName = (name) ->
    $scope.names.push name
  $(".names").draggable
    helper: "clone"
    revert: true
  $(".name-list").droppable
    accept: ".names"
    activate: ->
      $(@).addClass "bordered"
    deactivate: ->
      $(@).removeClass "bordered"
    drop: (e, ui) ->
      name = ui.draggable.attr "data-names-name"
      $scope.addName name

这里,用户将一个名称(表示)作为 div 拖动到名称列表上,然后将拖动的名称添加到名称数组中。

问题是,将新名称插入名称数组后,名称数组仍然为空。

最佳答案

将其包装在 $scope.$apply 中(抱歉没有使用 CofeeScript)

..
$scope.$apply(function(){
  $scope.addName(name);
});

关于javascript - 通过 jQuery 回调修改作用域变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24218262/

相关文章:

javascript - 事件处理程序在 Internet Explorer 中不起作用

javascript - ng-repeat 与 track by、filter 和 orderBy 不起作用

angularjs - 从 Controller 观察服务中的值

javascript - Angular $http 服务不加载 json 文件

ruby-on-rails - Coffeescript和Rails Assets 管道的JSON错误

javascript - 在 Selenium WebDriver 中执行 '.hover' Javascript

javascript - 将鼠标悬停在子元素上并在父元素上附加 scss

javascript - select2选项背景颜色与html select相同

CoffeeScript 重构

javascript - 在贪吃蛇游戏中,如何移动具有不同棋子的蛇?