Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng视图角度不显示文本输出_Javascript_Angularjs_Ng View - Fatal编程技术网

Javascript ng视图角度不显示文本输出

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

我无法通过点击这两个链接获得“这里是猫”或“这里是狗”段落中的信息;这些文件保存为同一文件夹中的one.html和two.html

我已经在同一个文件夹中下载并添加了angular-route.js文件。请帮忙


我已经在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">