2013-11-01 4 views
0
body(ng-controller='bodyController') 
.div(ng-controller='divController') 
    h1 {{someVar}} 

В приведенном выше html (нефрит), к которому относится someVar прилагается? до $ scope bodyController или divController?Угловая переменная по умолчанию?

Как обеспечить someVar прилагается к bodyController? Следующий код обеспечит его, не так ли?

function bodyController($scope){ 
    $scope.someVar = null; 
} 

Я пытаюсь использовать переменную из $ scope bodyController в html. Я хочу запретить divController объявлять переменную в своей области.

+1

Это поможет вам http://www.youtube.com/watch?v=DTx23w4z6Kc – finishingmove

+0

да, это так. Благодаря! –

ответ

0

Существует не такая вещь, как , обеспечивающая область действия через объявление переменной. Это динамический язык. Все не так.

Но по дизайну каркаса в Angular дочерние контроллеры наследуют сферу своего родителя точно так же, как и директивы.

Так это

function bodyController($scope){ 
    $scope.foo = 'Foo'; 
} 

function divController($scope){ 
    console.log($scope.foo); 
} 

работает, как ожидалось.

Я бы использовал directives за то, что вы делаете.

+0

1. Директивы Arn'te предназначены только для манипуляций с DOM? 2. Я пытаюсь использовать переменную из $ scope bodyController в html. Я хочу запретить divController объявлять переменную в своей области. –

+0

К манипуляции с DOM вы также можете обратиться к замене '' на '

{{someVar}}

' загружен из внешнего или встроенного шаблона :) –

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