【问题标题】:Failing to understand data binding in angularjs无法理解 angularjs 中的数据绑定
【发布时间】:2013-04-18 13:12:05
【问题描述】:

我在这里设置了 jsbin http://jsbin.com/esofiq/1/edit 我对我认为 angularjs 应该工作的方式感到困惑,我有一些 json 数据附加到数据属性,angularjs 获取数据并创建视图。没有在控制器中调用$scope.mydata 将“mydata”设置为模型,如果数据属性中的数据发生更改,它现在不应该更新视图吗?

如果这不适用于 Angular,这是否更容易在其他框架中实现?

【问题讨论】:

标签: javascript json angularjs


【解决方案1】:

我认为这两个会给你的想法:

How Angular uses data

How to make AJAX calls

【讨论】:

    【解决方案2】:

    虽然这不是 Angular 中常用的处理方式,但您可以实现您想要的,将手表添加到您的数据中

    $scope.$watch(
        function () { return  $("#mydata").data("a");}, 
        function(newValue) {
            $scope.mydata = newValue;
        }, true);
    

    基本上,我们正在为您的数据添加更改侦听器。

    请检查this plunker,其中 jquery 数据每 2 秒更改一次,div 对此更改做出反应。

    【讨论】:

    • 如果您通过控制台手动设置更改将不起作用
    • @raphael_turtle 你是对的。在 Angular 之外,我们必须使用 $apply。所以,要在控制台上工作,我们必须这样做:angular.element("body").scope().$apply(function() { $("#mydata").data("a")[0]。名称="账单"; });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多