Я учусь о директивах в AngularJS, и я наткнулся на этот код:AngularJS Директивы изолированных областей
var app = angular.module('app', []);
//creating custom directive syntax
app.directive("myDir", function() {
return {
restrict: "E", //define directive type like E = element, A = attribute, C =
class, M = comment
scope: { //create a new child scope or an isolate scope
title: '@' //@ reads the attribute value,
//= provides two-way bindi
Мои вопросы:
Согласно кодексу, «сфера» атрибута, по-видимому, используется для создать либо дочернюю область, либо изолированную область. Как мы тогда различаем, если мы хотим, чтобы область действия этой директивы была изолирована или нет? Если я хочу только иметь дочернюю область, но не изолирован, как бы мне это сделать?
Изолированный означает, что изолированный объем, который мы создаем, не может получить доступ к переменным из родительской области, не так ли?
Поля родителя по умолчанию не могут получить доступ к переменным от дочернего элемента, но ребенок может получить доступ к переменным родителя, если этот не изолирован, правильно?
И последний вопрос, если мы определяем атрибут 'controller' для указания контроллера для этой директивы, эта директива будет по умолчанию обладать контроллером?
Спасибо!
Ваше понимание изолированных областей и областей родитель-ребенка верно. «Контроллер» для директивы будет иметь такую же '$ scope', что и директива. – Cirdec