<!DOCTYPE html>
<html lang="zh-CN" ng-app>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-route.min.js"></script>
<script type="text/javascript" src="js/VLib.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>
<body ng-controller="getConfig">
{{title}}
</body>
</html>
function getConfig($scope, $http) {
$http.get('sources/config.json').success(function(data) {
$scope = data;
console.log($scope.title);
});
};
以下是sources/config.json的内容
{
"title": "VDON"
}
为何body中无法正常显示VDON
控制台中输出VDON。
才刚开始接触angular.js主要是被它的双向绑定和路由吸引。
请问哪里出错了,导致{{title}}没有正常输出?
ringa_lee2017-04-10 14:34:23
你把 $scope = data
替换成 $scope.data = data
,然后模版里的 {{title}}
换成 {{data.title}}
即可。
至于原因,我建议你用 console.log
查看前后两种写法中 $scope
对象的差异,之后你应该会明白为什么。如果再不明白,继续提问或搜索。
PHP中文网2017-04-10 14:34:23
很低级的基础问题,AngularJS模板中所有使用的变量都是在$scope对象上的,建议一般在每个controller设置一个 vm对象,var vm = $scope.vm = {};这个controller所有使用到的变量和方法都存储在vm对象上即可。