2013-08-25 3 views
1

Я слежу за некоторыми вводными учебниками AngularJS, и они начинаются, показывая, насколько легко начать.AngularJS - Доступ к модели собственности без контроллера

Они говорят, что все, что вам нужно сделать, это определить нг-приложение, а затем использовать пример ввода с нг-модель = «имя», а затем показать эту строку при вводе текста с помощью {{имя} }.

Вопрос в том, можно ли получить доступ и прочитать свойство «имя» без необходимости определять контроллер и читать его с помощью $ scope.name?

Например ..

$(function() { 

    var name = ?.name; 

}); 
+1

Вы можете просто использовать {{name}} в любом месте шаблона, потому что вы определили его в корневом каталоге (если он не переопределен локальной областью, поэтому безопаснее использовать ng-model = "something.name") –

+0

Что делать, если я хотел использовать его вне шаблона, например, внутри jQuery ajax? – Grant

+0

Где вы делаете вызов jQuery ajax? это внутри углового контроллера? можете ли вы объяснить, что вы пытаетесь сделать или написать какой-нибудь код? –

ответ

4

Ну, как выясняется, установка нг-модели без нг-контроллера, определенного в любом родительском уровне создает элемент на $rootScope.

Что это также означает, что если бы вы могли вводить зависимость $ rootScope, вы можете получить доступ к переменной, которую вы определяете в представлении.

Смотрите мой скрипку here

Update: на основе обновления вопроса. Вы можете получить доступ к области действия за пределами от углового, используя что-то вроде

angular.element(domElement).scope()

и доступ к переменной. См. Это answer. Но, пожалуйста, избегайте как можно большего.

Смежные вопросы