6

ng-click によるユーザー アクションに基づいて場所が変更される部分的なテンプレートがいくつかあります。

<div ng-include="contentUrl"></div>

<button ng-click="contentUrl = '../partials/testScriptForm.html'">Add Test Script</button>

上記のボタンがパーシャル自体の内部にない限り、これはうまく機能します。したがって、testScriptForm.html にボタンがある場合:

<button ng-click="contentUrl = '../partials/testScriptCase.html'">Add Test Case</button>

その後、何も起こりません。

これは、ng-include が新しい (継承されているが共有されていない?) スコープを取得したためと思われます。

私が理解できないのは、含まれているテンプレート (部分的) を取得して独自の場所を変更する方法です。

$scope.$parent.contentUrl を変更する関数を試しましたが、変更されているように見えますが、変更が「反映」されていません。

コーヒースクリプトで:

  $scope.changeParentLocation = (location) ->
      $scope.$parent.contentUrl = location

また、 $scope.$apply() と $scope.$parent.$apply() を試みたところ、エラーが発生しました:

エラー: [$rootScope:inprog] http://errors.angularjs.org/1.2.0rc1/ $rootScope/inprog?p0=%24apply

多分私は単にインクルードを誤用しています...

4

1 に答える 1