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
多分私は単にインクルードを誤用しています...