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

Posted 青春朝阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘。



















以上是关于angularjs 初始化方法执行两次以及url定义错误导致传值错误问题的主要内容,如果未能解决你的问题,请参考以下文章

对抗AngularJS执行控制器两次

无法在 AngularJS 中的请求中指定标头

angularjs $q$http 处理多个异步请求

AngularJS $q 异步执行函数服务(延迟执行)

AngularJS $q 异步执行函数服务(延迟执行)

使用 AngularJS 发送 GET 请求时无法从 WebStorm IDE 执行“打开”无效 URL