2

我创建了一个在标签内加载一些 html 代码的指令:

指示:

var appDirectives = angular.module("skdApp", ["offerServices"]);
appDirectives.directive("widget", function() {
  return {
    restrict: 'A',
    template: '<div ng-controller="OfferCtrl"><p>{{offer.price}}</p></div>';
  }

服务
此外,我正在使用服务来获取一些 json 数据

angular.module('offerServices', ['ngResource']).
  factory('Offer', function ($resource) {
    return $resource('url/offer.json', {},
      {
        get: {method: 'JSONP', params: {callback: 'JSON_CALLBACK'}}
      }
    );
});

controller
控制器将接收到的数据添加到作用域

function OfferCtrl($scope, Offer) {
  $scope.offer = Offer.get();
}

现在我面临以下问题。在加载模板时,json 请求还没有完成。这导致模板显示为 {{offer.price}} 的空字符串。

一旦 offerServices 收到响应(即 offerService 响应可用),我需要一种使用相应值更新模板的方法

有任何想法吗?

4

1 回答 1

2

如何使用ngCloak

描述

ngCloak 指令用于防止 Angular html 模板在加载应用程序时被浏览器以原始(未编译)形式短暂显示。使用该指令可以避免 html 模板显示引起的不良闪烁效果。

该指令可以应用于元素,但通常首选细粒度应用程序,以便从浏览器视图的渐进式渲染中受益。

于 2012-10-30T15:49:28.680 回答