使用ui-router的 $stateProvider.state 写路由的时候,我想将 templateUrl 做成通过函数返回模板地址,然后一直报错,想请教一下大神。我这个页面中并未进行http请求,只是简单的放了个图片,不懂报错的原因
解决方案 »
- 关于sencha touch布局问题
- showModalDialog方式, 子窗口 能否调用到 父窗口的 控件(一个按钮)? 可以吗?
- 请问prototype.js的klass.prototype.constructor = klass;有什么用
- 一个页面 内容用dom动态添家 怎么把它一直定位在页面最底部?谢谢
- =》不关闭浏览器打开刚才的页面和关闭后重新打开浏览器进行刚才的页面有什么不同,请高手帮忙,具体进入。。。
- 再问select无法被层覆盖问题?
- 能否一直打开新的页面?
- 如何实现框架之间的打印?
- 新手求助。。。SOSing。。。。。。。。。。。。
- 求一个正则表达式?
- 想要让表格里嵌套的对应行的div层显示和影藏.
- js中setInterval第二个参数可以用变量吗?
用闭包之后确实可以返回字符串,然后我传 $stateParams 参数却报 $stateParams is not defined :
templateUrl: (function(params){
return ......
})($stateParams),只有上面图中那种报错的写法才能打印出正确的$stateParams参数,换成闭包或引用外部函数虽然能解决无法返回字符串的问题但是无法传$stateParams进去,大神能再指导一下吗?
/**
* 路由配置文件
*/
define([
], function () {
'use strict';
function stateProvider($stateProvider, $urlRouterProvider) {
$stateProvider
.state('proposal', {
abstract: true,
url: '/proposal',
templateUrl: 'common/layout/layout.html',
resolve: {
deps: ['$ocLazyLoad', '$http', '$templateCache', function ($ocLazyLoad, $http, $templateCache) {
return $ocLazyLoad.load([
'./modules/proposal/services/proposalService.js',
]);
}]
}
})
.state('proposal.management', {
url: '/management',
title: '利用计划管理',
templateUrl: function($stateParams){
return './modules/proposal/modules/management/management.html';
}, //这种写法是在ui-router的源码的注释说明中所推荐的,但是不知道我这为什么会[$http:badreq]
group: 'proposal',
rightName: '利用计划管理',
resolve: {
deps: ['$ocLazyLoad', '$http', '$templateCache', function ($ocLazyLoad, $http, $templateCache) {
return $ocLazyLoad.load([
'./modules/proposal/modules/management/managementCtrl.js',
]);
}]
}
})
} stateProvider.$inject = ['$stateProvider', '$urlRouterProvider'];
return stateProvider;
});
app.js文件
define([
'angular',
'./proposal.router',
'./proposal.constant'
],function(angular, proposalRouter, proposalConstant){
'use strict';
var proposalApp = angular.module('proposal.app',[
]);
proposalApp.config(proposalRouter);
proposalApp.constant('PROPOSAL', proposalConstant.PROPOSAL);
return proposalApp;
});