Ui Router - 嵌套视图未显示($ viewContentLoaded未触发)

时间:2014-10-17 13:48:19

标签: javascript node.js angularjs angular-ui-router nested-views

视图/ index.jade:

extends layout

block content
  div(ui-view)

视图/分音/ user.jade

h1 Route 1
hr
a(ui-sref=".profile") Show Content
div(ui-view)

JS / appStates.js

'use strict';

var app = angular.module('myApp');

app.config(['$stateProvider', '$urlRouterProvider',
  function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise("/user");

    $stateProvider
      .state('user', {
        url: '/user',
        templateUrl: 'partials/user'
      })
      .state('user.profile', {
        url: '/profile',
        template: '<h1>My Contacts</h1>'
      })
    ;
  }
]);

&#39;我的通讯录&#39;从不出现。 请注意,链接似乎是正确的。不知道发生了什么。

我尝试了以下内容:

http://tech.endeepak.com/blog/2014/05/03/debugging-angular-ui-router/

我注意到&#39; $ viewContentLoaded&#39;永远不会在嵌套视图上调用,不知道为什么。 任何不应该被召唤的情况?

2 个答案:

答案 0 :(得分:1)

从IRC频道的快速帮助中,我设法解决了它。

问题在于jade文件中的第4行:

div(ng-view)

出于某种原因,默认情况下,jade将呈现值等于名称的空属性。 所以结果html是:

<div ng-view="ng-view"></view>

一个简单的解决方法是在玉器中将其设置为空值

div(ng-view="")

现在它有效。

再次感谢IRC的人们。

答案 1 :(得分:0)

如果您正在使用gulp,请将文档类型指定为html5,以便jade知道无名标签是有效的

咖啡脚本示例

SELECT   type AS vuln_type, COUNT(DISTINCT repoId) AS cnt
FROM     vulns
GROUP BY type