2

angularJS v1.0.0 を使用してディレクティブを作成しましたが、すべて正常に動作しましたが、angular を v1.0.7 に更新したところ、ディレクティブが機能しなくなりました。さまざまな修正方法を試しましたが、機能しませんでした。

$routeChangeStart の $beginRouteChange と $routeChangeSuccess の $afterRouteChange を置き換えようとしましたが、まだ機能しません

これは単に、アプリケーションがビジー状態のときに「読み込み中...」というメッセージを表示するテキストです。ここで説明を見ることができます:

http://mhevery.github.io/angular-phonecat/app/#/phones

指令:

working version in AngularJS 1.0.0 but not in v1.0.7

'use strict';

/* Directives */

var directive = {};

directive.butterBar = function($rootScope) {
  return {
    restrict: 'C',
    link: function(scope, element) {
      $rootScope.$on('$beginRouteChange', function() {
        element.addClass('show');
        element.text('Loading...');
      });
      $rootScope.$on('$afterRouteChange', function() {
        element.removeClass('show');
        element.text('');
      });
    }
  };
};

angular.module('phonecatDirectives', []).directive(directive);

ありがとう!

4

2 に答える 2

5

ルートの変更をキャッチするための正しいイベントは次のとおりです。

$routeChangeStart
$routeChangeSuccess
$routeChangeError
$routeUpdate

$route ドキュメントを参照してください

あなたの場合の使用法:

$rootScope.$on('$routeChangeStart', function() {
    element.addClass('show');
    element.text('Loading...');
});
$rootScope.$on('$routeChangeSuccess', function() {
    element.removeClass('show');
    element.text('');
});
于 2013-08-01T15:30:19.150 に答える