У меня проблема с AnguleJs при использовании ng-include для включения html-шаблона с собственным контроллером.ng-include scope scope
Проблема заключается в том, что я могу получить доступ к переменным области видимости, определенным в контроллере включенного шаблона в самом шаблоне, но не может сделать обратное (доступ к модели, определенной в шаблоне внутри его контроллера).
Это моя страница index.html, в которой я включаю test.html шаблон:
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="app.js"></script>
<body>
<div ng-controller="TestController" ng-include="'test.html'"></div>
</body>
</html>
Вот шаблон test.html:
<div>
{{foo}}
<br />
<input type="text" ng-model="username" />{{username}}
<br />
<button ng-click="go()">Click here</button>
</div>
И, наконец, это мой контроллер:
myApp.controller('TestController', function($scope) {
$scope.foo = 'Hello World';
$scope.go = function() {
console.log('Username = ' + $scope.username);
}
});
без проблем можно сделать следующее:
- Доступ Foo, который определен в контроллере в шаблоне
- Доступ к имени пользователя, который определен в шаблоне в шаблоне сам
Но я не могу сделать следующее
- Доступ к имени пользователя, которое определено в шаблоне в контроллере (выход не определен в функции go())
Адрес plunker.
Заранее спасибо.
Возможный дубликат [AngularJS: dot in ng-model] (http://stackoverflow.com/questions/17606936/angularjs-dot-in-ng-model) – charlietfl
Я уже прочитал это, и я думаю, что мой случай отличается. Я попытался использовать ** info.username ** как имя для модели, но это тоже не сработало. –