Angularjs ng repeat,函数从get返回html

Angularjs ng-repeat with function returning html from a get

本文关键字:get 返回 html 函数 ng repeat Angularjs      更新时间:2023-09-26

我是angularjs的新手,正在努力弄清楚这里发生了什么。

我重复一遍:

<li class="widget flip-container" ng-repeat="widget in widgets">
                 <div class="widgetContent" ng-bind-html="getData(widget.UserWidgetId,widget.Url)">
                 </div>
</li>

getData是一个函数:

 $scope.getData = function(id, url) {
            if (url == null || url == "") return "";                
            return userWidgetsFactory.getWidgetHtml(url).success(function(results) {
                return results;
            });
        };

工厂:

app.factory("userWidgetsFactory", function($http) {
        var factory = {};
        factory.getWidgetHtml = function(url) {
            return $http.get(url);
        };
        return factory;
    });

我的问题是这个函数被反复调用并且不会停止。我知道我这样做是不对的。

试试这个。。。ng-bind-html添加了一个手表。

<li class="widget flip-container" ng-repeat="widget in widgets" ng-init="testdata = getData(widget.UserWidgetId,widget.Url)">
                 <div class="widgetContent"> {{testdata}}
                 </div>
</li>