这是我的HTML,它包含了所有内容,从HTML本身到脚本:
<!doctype html>
<html lang="en-US" ng-app>
<!--Head-->
<head>
<meta charset="UTF-8">
<title>Lesson 5 - ng-show & ng-hide</title>
<meta name="viewport" content="width=device-width">
<style type="text/css">
* {
box-sizing: border-box;
}
body {
font: 16px/1.5 sans-serif;
color: #222;
margin: 5em;
}
</style>
</head>
<!--Body-->
<body ng-controller="information">
<div>
<label for="name">
Name:
<input type="text" name="username" id="username" placeholder="Your name here please" ng-model="name"/>
</label>
<br>
<label>
Hide?
<input type="checkbox" ng-model="checked"/>
</label>
</div>
<div ng-hide="checked">
Hidden Message here
<br>
Welcome {{ name || "user" }}!
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script type="text/javascript">
var information = function ($scope) {
console.log($scope);
}
</script>
</body>
</html>
如您所见,这是一个使用AngularJS的简单HTML页面。您可以看到正文由名为information
的控制器控制。
现在,一旦你从body标签中删除信息,然后将其放入第一个div
标记(就像ng-controller="information"
到div标签而不是body标签),将看到程序停止工作(如果你输入你的名字,它将不会出现),这是预期的,因为另一个div超出了控制器的范围。
现在,我想问的是,您如何从HTML内部的另一个控制器访问数据?我尝试了以下内容:
{{ information.name || "user" }}
&lt; - 首次尝试{{ information.$scope.name || user }}
&lt; - 第二次尝试,因为{{}}评估JS 最后,我无法得到我想要的结果。那么,我如何从另一个范围访问独立于任何范围的div
标记?
答案 0 :(得分:0)
做一件事。
创建一个具有getter setter属性的服务。如果要从控制器发送数据,请设置消息或变量或对象。并在要访问它的控制器中使用get函数。这样,您可以轻松地通过控制器传递数据。如果你仍然不能让我知道。