Я новичок в Angular JS.привязка не работает во вложенном контроллере
У меня есть несколько вопросов. Сфера видимости работает с моим первым контроллером testController
, но не с моим вторым контроллером controlspicy
.
Почему не позволяет распечатать $scope.greeting
? Не следует привязывать работу, потому что я назначил контроллер.
Ссылка на plunkr, которая направляет прямо на код.
http://plnkr.co/edit/NbED8vXNiZCqBjobrISa?p=preview
<!DOCTYPE html>
<html ng-app="newtest">
<head>
<script data-require="[email protected]*" data-semver="1.3.5" src="https://code.angularjs.org/1.3.5/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
<script src="spicy.js"></script>
</head>
<body ng-controller="testController">
<h1>Hello Plunker! {{message}}</h1>
<input type="text" name="firstName" ng-model="thetext">
{{double(thetext)}}
<h1 ng-controller="controlspicy">new test</h1>
<h2>{{greeting}}</h2>
</body>
</html>
script.js
var app = angular.module("newtest", [])
.controller("testController", ["$scope", function($scope) {
$scope.message = "hola";
$scope.double = function(value){
if (value == null){
return 0;
}
return value*2;
};
}]);
spicy.js
вар заявл = angular.module ("thespicy", []) .controller ("controlspicy" , ["$ scope", function ($ scope) {
$scope.greeting = "hello";
}]);
Другие ответы, похоже, доходят до сути, почему ваш конкретный вопрос не работает, но вы, вероятно, столкнетесь с другими проблемами при использовании вложенных контроллеров при использовании примитивов в '$ scope' из-за наследования прототипа JavaScript. см. http://stackoverflow.com/questions/14049480/what-are-the-nuances-of-scope-prototypal-prototypical-inheritance-in-angularjs и всегда старайтесь следовать «правилу точки», – Claies