angularjs 初始化方法执行两次以及url定义错误导致传值错误问题

1.初始化方法执行两次以上的问题
定义一个 route.如下所示:

.state('main.channelQryDetail', {
url:'/channelDetail/:channelNo/:pageFlag',
templateUrl:'views/channel/channelDetail.html',
controller: 'channelDetailCtr',
ncyBreadcrumb: {
label: '渠道详细',
parent: 'main.channelQuery'
},
data: {
requiredLogin: true
}
})
这个时候,channelDetailCtr里的 初始化方法是只会初始化一次的。但是如果
channelDetail.html 里有使用这种方式的话就会初始化两次。如下:
<div class="row ml0 mr0" ng-controller="channelDetailCtr">
这里可以看一下 angular 脏检查,便会明白。
2.url定义问题导致刷新之后传值错误问题
url 如果定义为 下面的形式,那么刷新之后获取到的 channelNo 参数就是 channelNo 和 pageFlag。所以定义路由的url 的时候一定要书写规范。
url:'/channelDetail/:channelNo:pageFlag'。

原文地址:https://www.cnblogs.com/hui-run/p/9797008.html