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
AngularJs路由对于嵌套的部分页面工作不正常_Angularjs_Routes - Fatal编程技术网

AngularJs路由对于嵌套的部分页面工作不正常

AngularJs路由对于嵌套的部分页面工作不正常,angularjs,routes,Angularjs,Routes,我是安格拉斯的新手。我已经完成了一段代码,其中有三个部分页面。当我点击某个东西时,我正试图从第二部分加载第三部分。问题是partial3加载正确,但angularjs绑定工作不正常 这是我的密码 app.js 'use strict'; // Declare app level module which depends on views, and components angular.module('myApp', [ 'ngRoute', 'myApp.view1', 'myAp

我是安格拉斯的新手。我已经完成了一段代码,其中有三个部分页面。当我点击某个东西时,我正试图从第二部分加载第三部分。问题是partial3加载正确,但angularjs绑定工作不正常

这是我的密码

app.js

'use strict';

// Declare app level module which depends on views, and components
angular.module('myApp', [
  'ngRoute',
  'myApp.view1',
  'myApp.view2',
  'myApp.version'
]).
config(['$routeProvider', function($routeProvider) {
  $routeProvider
      .when('/view1',{
          templateUrl: 'view1/view1.html'
      })
      .when('/view2',{
          templateUrl: 'view2/view2.html'
      })
      .when('/view3',{
          templateUrl: 'view3/view3.html',
          controller : 'view3Ctrl'
      })
      .otherwise({redirectTo: '/view1'});
}]);

myApp.controller('view3Ctrl',function($scope){

    $scope.name = "somename";
});

view2.html

<p>This is the partial for view 2.</p>
<p>
 this is view2
</p>
<p><a href="#/view3">Click here</a></p>

view3.html

<p>This is the partial for view 3.</p>
<p>
   this is view3
   <p> {{name1}}</p>
</p>
输出: 这是视图3的局部视图

{{name1}


它不显示绑定名称,而是显示{{name1}

,似乎您没有正确创建控制器。您有几个选项可以选择如何做,这主要取决于您的编码风格

首先,您可以将其链接到模块调用,如下所示

angular.module('MyApp', []).controller();
或者只需要调用模块getter方法而不是setter。看起来是这样的:

angular.module('MyApp', []); //setter method
angular.module('MyApp').controller(); //getter method

您的范围内没有名称1。所有这些都假设您确实正确地创建了控制器,而从您显示的代码片段来看,情况似乎也并非如此。如果是这样的话,这个代码会有一些错误。马特,实际上是打字错误,我在view3.html中写的是{{name}}。如果我没有错的话,当我加载view3.html时,该页面看起来并不是angularjs应用程序。我说的对吗???知道为什么会这样吗?如果是这样的话,我会说这是因为你没有正确地创建你的控制器。让我写一个答案。