请考虑使用routeProvider在ng-view中注入page(n).html的代码。
除了控制台错误:
未知提供者:$ routeProviderProvider< - $ routeProvider
函数routeIt的参数是要导航到的页面的名称,如何将条件开关与routeProvider.when混合以便以最有效的方式调用与参数匹配的页面?感谢
(function () {
'use strict';
angular
.module('appModule')
.controller('MainMenuCtrl', ['$scope', '$http', 'TogglerFactory', '$routeProvider', MainMenuCtrl]);
function MainMenuCtrl($scope, $http, Toggler, routeProvider) {
$http.get('models/mainMenu.json').then(
function (response) {
$scope.menuItems = response.data;
},
function (error) {
alert("http error");
}
)
function routeIt (page) {
routeProvider
.when('/page1', {
url: "/page1",
templateUrl: 'views/page1.html',
controller: 'Page1Ctrl'
})
.when('/page2', {
url: "/page2",
templateUrl: 'views/page2.html',
controller: 'Page2Ctrl'
})
}
$scope.itemClicked = function (item){
Toggler.menuToggle();
routeIt(item);
}
}
})();
答案 0 :(得分:0)
服务提供商在运行阶段(即除provider
服务和config
块之外的任何地方)都无法注入。可以使路由提供程序可注入并在配置阶段后配置它,
app.config(function ($provide, $routeProvider) {
$provide.value('$routeProvider', $routeProvider);
});
控制器并不是实现任何逻辑的最佳场所(例如路由热插拔)。
答案 1 :(得分:0)
好的,您使用routeProvider错误,需要在char *buffer = NULL;
int *fdata = NULL;
//Get the file size as in above code and after that
buffer = malloc(sizeof(char)*fsize);
fdata = malloc(sizeof(int)*fsize);
result=fread(buffer, sizeof(char), fsize, fp);
if (result != fsize)
{
printf("Error Reading file!\n");
}
for (int i = 0; i < fsize; i++)
{
if (buffer[i] < 0)
{
fdata[i] = 256 + (int)buffer[i];
}
else
{
fdata[i] = (int)buffer[i];
}
}
for (int i = 0; i < fsize; i++)
{
printf("%d ",fdata[i]);
}
//free up after your done
free(buffer);
buffer=NULL;
free(fdata);
fdata=NULL;
块内配置路线
.config
如果要更改控制器中的网址,请使用控制器内的angular.module('myApp', [])
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/page1', {
url: "/page1",
templateUrl: 'views/page1.html',
controller: 'Page1Ctrl'
}
})
。