Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 Internet Explorer 8中的角度UI路由器嵌套视图_Javascript_Angularjs_Internet Explorer 8_Angular Ui Router - Fatal编程技术网

Javascript Internet Explorer 8中的角度UI路由器嵌套视图

Javascript Internet Explorer 8中的角度UI路由器嵌套视图,javascript,angularjs,internet-explorer-8,angular-ui-router,Javascript,Angularjs,Internet Explorer 8,Angular Ui Router,在IE8中使用嵌套视图时,角度UI路由器显示有问题。它似乎可以深入2层,然后在控制台中出现以下错误: Error: [$compile:tplrt] http://errors.angularjs.org/1.3.0-beta.5/$compile/tplrt?p0=message&p1=<ui-view class=ng-scope> 这只发生在IE8中,在IE9+和其他现代浏览器中显示良好。它应该与IE8兼容 编辑:我发现了这个问题。问题是由于子状态(user.list

在IE8中使用嵌套视图时,角度UI路由器显示有问题。它似乎可以深入2层,然后在控制台中出现以下错误:

Error: [$compile:tplrt] http://errors.angularjs.org/1.3.0-beta.5/$compile/tplrt?p0=message&p1=<ui-view class=ng-scope>
这只发生在IE8中,在IE9+和其他现代浏览器中显示良好。它应该与IE8兼容


编辑:我发现了这个问题。问题是由于子状态(user.list.edit和user.list.add)的HTML中包含的指令造成的。此指令配置了“replace:true”,这导致IE8抛出模板错误。该指令也在父州使用,但没有在那里引起问题。编辑指令以不要求替换解决了问题。希望这能帮助其他遇到同样问题的人。

从我发现的情况来看,这个错误也可能是由于模板DOM树深处的标记关闭不正确造成的,例如:

<div>
    <div>
        <div></strong> <!-- ERROR! -->
    </div>
</div>


使用类似的方法防止在构建时发生这种情况:

.state('user', {
    abstract: true,
    url: '/user',
    templateUrl: '/admin/user/user.html',
    controller: 'userController'
})
.state('user.list', {
    url: '',
    views: {
        'filters': {    templateUrl: '/admin/user/user.filter.html',
                        controller: 'userFilterController' },
        'results': {    templateUrl: '/admin/user/user.list.html',
                        controller: 'userListController' },
        'details': {    template: '<ui-view/>'}                             
    }
})
.state('user.list.add', {
    url: '/add',
    templateUrl: '/admin/user/user.add.html',
    controller: 'userAddController'
})
.state('user.list.edit', {
    url: '/{userId}',
    templateUrl: '/admin/user/user.edit.html',
    controller: 'userEditController'
});
<div>
    <div>
        <div></strong> <!-- ERROR! -->
    </div>
</div>