У меня есть несколько частичных шаблонов, где расположение изменяется на основе действий пользователя с помощью нг-клик:AngularJS ngInclude динамически изменяя его местоположение
<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, похоже, что она изменяет, но не «размножает» изменения.
В CoffeeScript:
$scope.changeParentLocation = (location) ->
$scope.$parent.contentUrl = location
также попытался $ объема $ применить() и $ сферы $ родительских $ применяются() там и получают ошибку:...
Error: [$rootScope:inprog] http://errors.angularjs.org/1.2.0rc1/ $rootScope/inprog?p0=%24apply
Может быть Я просто неправильно используя включает в себя ...
Попробуйте использовать объект ' "content.Url = 'someFile.html'"' вместо того, чтобы просто ' "contentUrl = 'someFile.html'"' – AlwaysALearner
Спасибо! Я пытался выяснить, почему ng-click не может изменить включенный шаблон и никогда бы не догадался, что это связано с новой областью. – Sonata