Мне нужно получить доступ (вызов и/или изменить) область действия контроллера извне.
После this answer мне удалось открыть сферу, но привязки данных не загнуться ...Функция управления вызовом извне
Возьмите это в качестве примера (JSFiddle).
angular.module("App", []).controller("Test", function($scope)
{
$scope.list = ["added on initialization"];
$scope.add = function(item)
{
$scope.list.push(item);
};
});
var addFromOutside = function()
{
angular
.element(document.getElementById("TestController"))
.scope()
.add('added from outside');
};
<div ng-app="App" ng-controller="Test" id="TestController">
<ul>
<li ng-repeat="item in list track by $index">
{{item}}
</li>
</ul>
<button ng-click="add('added from inside')">Add from inside</button>
</div>
<button onclick="addFromOutside()">Add from outside</button>
Если вы нажмете на «Добавить внутри» кнопки он работает, как ожидалось.
Но если вы нажмете на «Добавить снаружи» кнопки ничего не происходит, пока вы не нажмете на «Добавить внутри» кнопка ...
Есть в любом случае сделать это и есть привязка данных работу ?
почему вы хотите, чтобы вызвать его из за пределами? Я имею в виду, что вы можете использовать 'ng-controller' несколько раз, если вам нужно –
@JohnyStark, правда? Я попробую. Спасибо ... – NemoStein
да, просто оберните эту кнопку с помощью '
' –