【发布时间】:2015-07-12 01:38:44
【问题描述】:
我是 Angular JS 的新手。
我有几个问题。 Scope 似乎与我的第一个控制器 testController 一起使用,但不适用于我的第二个控制器 controlspicy。
为什么不让我打印出 $scope.greeting ?因为我分配了一个控制器,所以绑定不应该工作吗?
这是一个直接指向代码的 plunkr 链接。
http://plnkr.co/edit/NbED8vXNiZCqBjobrISa?p=preview
<!DOCTYPE html>
<html ng-app="newtest">
<head>
<script data-require="angular.js@*" 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
var appl = angular.module("thespicy", []) .controller("controlspicy", ["$scope", function($scope){
$scope.greeting = "hello";
}]);
【问题讨论】:
-
其他答案似乎触及了为什么您的特定问题不起作用的核心,但是由于 JavaScript Prototype 在
$scope上使用原语时使用嵌套控制器时,您可能会遇到其他问题遗产。请参阅stackoverflow.com/questions/14049480/…,并始终尝试遵循“点规则”
标签: javascript angularjs