Если я объявляю следующую область выделения в определении директивы:
scope: {
state: '=',
},
Справедливо ли утверждать, что =
связывает свойство state
в области изоляции с значением возвращаемого выражением, связанным с атрибутом с именем state
в объявлении директивы, выполняемым в родительской области?
Например, например, ваша директива подобна приведенной ниже,
<div ng-controller="testCtrl">
<directive-name state="scope_variable"></directive-name>
</div>
то, если мы будем использовать это
scope: {
state: '=',
},
атрибут state
в директиве должен быть переменной $scope (testCtrl's)
, если его переменная scope, то state
указывает на ту же переменную в области testCtrl
.
или выражение для ex like ...state="'scope_variable'"...
тогда это String и не указывает на переменную области видимости, а также если вы определили ее как ...state="1+2"...
то это выражение, так что переменная state
внутри области директивы равна 3
.
надеюсь, что это имеет смысл.
вот демонстрация.
заметка
если мы определяем директиву как единую область scope: {}
области scope: {}
то угловое будет создавать scope of testCtrl
область из ее непосредственного родителя, (родительская область в предыдущем примере - scope of testCtrl
).
см. консоль предоставленной демонстрации и см console.log(scope.$parent.name);
указывает на область $scope.name
области MainCtrl
.
parent scope
это область действия testCtrl
в примере.