Javascript ng视图角度不显示文本输出
我无法通过点击这两个链接获得“这里是猫”或“这里是狗”段落中的信息;这些文件保存为同一文件夹中的one.html和two.html 我已经在同一个文件夹中下载并添加了angular-route.js文件。请帮忙Javascript ng视图角度不显示文本输出,javascript,angularjs,ng-view,Javascript,Angularjs,Ng View,我无法通过点击这两个链接获得“这里是猫”或“这里是狗”段落中的信息;这些文件保存为同一文件夹中的one.html和two.html 我已经在同一个文件夹中下载并添加了angular-route.js文件。请帮忙 我已经在routerProvider中放置了控制器,但这不是必需的,并且将其添加到其中不会运行!: 您忘记在中的对象中插入模板的控制器。见下文: <html> <head> <script src= "http://ajax.googleapis.com/a
我已经在routerProvider中放置了控制器,但这不是必需的,并且将其添加到其中不会运行!: 您忘记在中的对象中插入模板的控制器。见下文:
<html>
<head>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="angular-route.js"></script>
</head>
</head>
<body ng-app="myApp" ng-controller="cont1">
<a href=#dogs>dogs</a> <a href=#cats>cats</a>
<div ng-view></div>
<script>
angular.module("myApp", ['ngRoute']).config ('$routeProvider',function($routeProvider){
$routeProvider.when("/dogs", {templateUrl: "one.html"})
.when("/cats", {templateUrl: "two.html"})
.otherwise("/cats", {redirectTo: "/dogs"})
});
app.controller("cont1", function($scope){ $scope.model = {message: "This is my app One!!!"} });
</script>
</body>
</html>
如果您直接在浏览器中打开此html文件,它将无法工作。这是因为将使用AJAX加载模板文件。为了确保来自一个站点的用户数据不能被恶意的其他站点获取,AJAX请求必须遵守。此策略的详细信息超出了此回答的范围,但这意味着一个站点页面无法向另一个站点发出请求。直接从使用“file://”url方案加载的磁盘加载的文件没有来源,因此跨来源策略检查将始终失败
要解决此问题,请将文件放在服务器上,然后尝试从那里访问它们。如果你使用的是mac电脑,你可以使用预装在mac电脑上的。在windows上,您可以使用。当您对angular使用minify-proof语法时,您可以将参数作为数组传递,而不是:
<html>
<head>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="angular-route.js"></script>
</head>
</head>
<body ng-app="myApp" ng-controller="cont1">
<a href=#dogs>dogs</a> <a href=#cats>cats</a>
<div ng-view></div>
<script>
angular.module("myApp", ['ngRoute']).config ('$routeProvider',function($routeProvider){
$routeProvider.when("/dogs", {
templateUrl: "one.html",
controller: "cont1"
})
.when("/cats", {
templateUrl: "two.html",
controller: "cont1"
})
.otherwise("/cats", {redirectTo: "/dogs"})
});
app.controller("cont1", function($scope){ $scope.model = {message: "This is my app One!!!"} });
</script>
</body>
</html>
您需要:
config('$routeProvider',function($routeProvider){
$routeProvider.when("/dogs", {
...
});
我和团队一起检查过了。我只需要从Html文件的代码顶部删除控制器,它就可以正常工作了
config(['$routeProvider',function($routeProvider){
$routeProvider.when("/dogs", {
...
}]);
应该求助于
<body ng-app="myApp" ng-controller="cont1">
谢谢朋友们帮助我 这是通过http提供的吗?请尝试从命令提示符下提供您的项目,而不是双击html文件。谢谢。我想你忘记给控制器配置了。我知道我离开了控制器;如果没有它,它也应该可以工作,我甚至用控制器进行了测试,但它没有运行!:如果您在mac上,请尝试在终端的同一目录中运行python-msimplehttpserver 3000。
<body ng-app="myApp">