1

わかりました、これは複雑な質問であり、私は悪いアプローチを求めているかもしれません. その場合は、お知らせください。

だから私はdirectiveナビゲーションバー用の を持っています。誰かが何かをクリックすると、クラスを追加するディレクティブを取得して、バーをロードすることができました。StackOverflow に感謝します。

しかし今、私は値を取得して設定するサービスを持っています。サービスで値が変更された場合、それをビューに反映させたい。そのようなことは可能ですか?

EDIT 明確にするために、 a を使用する場合$apply(function()....、どのように正確に行うのですか? 私の見解には次のようなものがあります。私のビューは、特定のコントローラーまたはスコープにバインドされていません。そうあるべきかどうかはわかりません。しかし、ここに私の見解のスニペットがあります:

    <p>
        Are you sure you change that song,
        <br />
  {{ songs[0].title }}
    </p>

これが私の指示です:

angular.module('MyApp')
  .directive('navbar', function () {
    return {
      restrict: 'A',
      templateUrl : '/views/partials/nav.html',
      controller: function ($scope, ModalService) {
        $scope.ms = ModalService;
        $scope.songs = {};

        $scope.$watch('ms.songs', function(newVal, oldVal) {
          if(newVal != null) {
            $scope.$apply(function() {
              $scope.songs = newVal;
            });
          }
        });
          },
4

2 に答える 2