我是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