javascript - 从 jQuery 设置 $scope 变量的值

标签 javascript jquery angularjs

我想从 jQuery 函数为 $scope 中的变量设置一个值,如下代码所示。一切都很好,但新的值(value)体现在 UI 中。

app.controller('myCtrl', function($scope) {
    $scope.carname = "Volvo";

    $('#sample').click(function(e){
        $scope.carname = "Audi";
    });
});

这是我的完整程序:Link

如果有人帮助我,我会很高兴。

最佳答案

为了使您的代码正常工作,您需要在分配 $scope.carname = "Audi"; 后运行 $scope.$digest() p>

像这样:

app.controller('myCtrl', function($scope) {
    $scope.carname = "Volvo";

    $('#sample').click(function(e){
        $scope.carname = "Audi";
        $scope.$digest();
    });
});

这是该计划的 w3schools 链接:Link

正如下面的评论中提到的,您还可以使用 $scope.$apply() ,如下所示:

app.controller('myCtrl', function($scope) {
    $scope.carname = "Volvo";

    $('#sample').click(function(e){
        $scope.$apply( function() {
            $scope.carname = "Audi";
        });
    });
});

这是该计划的 w3schools 链接:Link

您可以在以下链接中详细了解 $scope.$digest()$scope.$apply() 的用例:

注意: 正如许多其他评论和一些答案中提到的,Angular 确实提供了一个内置方法来监听 click 事件,称为 ng-click 。这是它的文档:AngularJS: ngClick

关于javascript - 从 jQuery 设置 $scope 变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42620655/

相关文章:

javascript - AngularJS 与 jQuery DataTables 间歇性工作

javascript - 如何将多个 PHP 变量传递给 ajax 函数 onclick

jquery - CSS 剪辑属性 - 是否有裁剪图像的替代方法?

angularjs - 在 Express 中将数据响应到 Slack url

javascript - 结合 ngRepeat 和条件指令

javascript - 使用 jquery 将 html 图像添加到 div/table

javascript - 检查 Id 元素 javascript

javascript - 如何在 Outlook App 中获取电子邮件标题

javascript - 嵌入html中的Cordova 5.0 javascript对android设备没有影响

javascript - Angular Directive(指令)不更新模型