javascript - 如何在 Jquery 中访问 AngularJS?

标签 javascript jquery angularjs

最近我开始在项目中集成AngularJS。 之前我用 JavaScript 编写了许多原型(prototype)和单个函数,例如(Node.js + socket.io 功能)。

今天我在使用清晰的 JavaScript 来交流 AngularJS 时遇到了困难:

JS:

socket.on('message', function (data) {
     showSystemMessage();
}

function showSystemMessage(message) {
     // Increment here AngularJS $scope.messagesCnt++ ?;
}

AngularJS:

.controller('MessagesController', ['$scope', function($scope) {
    $scope.messagesCnt = 0;
}])

HTML:

<div>{{messagesCnt}}</div>

请注意方法:showSystemMessage()

最佳答案

理想情况下,您应该遵循@Yaseer所说的,但我明白,您正在使用Socket IO native 实现[周围没有 Angular 包装器]。

因此,您有两种解决方案:

  1. 使用Angular Socket IO

  2. 从 native JavaScript 访问 Angular Controller :

为此,您必须拥有一个带有标识符 ID 的元素。然后您可以使用 id 来访问关联的范围。

angular.element("#your-identifier-id-here").scope().messagesCnt++;

关于javascript - 如何在 Jquery 中访问 AngularJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339767/

相关文章:

javascript - 使用 Jquery 在滚动列表中显示元素

javascript - 如果选择了输入并单击了按钮,则为 jQuery 条件

javascript - Telerik MVC Grid 客户端 .dataBind() 抛出异常

javascript - 根据if条件延迟一段时间后执行函数

jquery - 通过Ajax调用Response.redirect

javascript - Angularjs 代码不工作

javascript - 为什么小书签使用 iframe?

javascript - 使用 Highcharts.js 绘制动态添加的数组元素

javascript - 如何改变负值的间隔?使用 Highcharts

AngularJS UI-Router 导航而不删除查询参数