【发布时间】:2014-10-21 07:07:24
【问题描述】:
我有两个角度路由问题并解决。我对 Angularjs 很陌生。这就是为什么我的问题可能非常愚蠢。
-
当我在浏览器地址栏输入
mysite/lsrc?q=keyword时,浏览器会在页面上显示Json结果。浏览器无法转发到searchView.html。但我在 pageCtrl.js 上有一个事件。页面可以通过
$location.path('/lsrc').search(searchService);转发到相同的URL你也可以看到下面提到的事件。 -
我在 searchView.html 上看不到 searcView 模型。我觉得我的
这是相关的代码部分
app.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/lsrc', {
templateUrl: '/app/search/searchView.html',
controller: 'SearchController as vMain',
//resolve:
resolve: {
searchResource: "searchResource",
searchService: "searchService",
searchView: function (searchResource, searchService) {
return searchResource.query(searchService).$promise;
}
}
});
PageControl.js:
(function () {
"use strict";
angular.module("logicApp")
.controller("PageController", ['searchService', '$location',
PageController]);
function PageController(searchService, $location) {
var vmPage = this;
//forward page to the searc view
vmPage.LogicSearch = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$location.path('/lsrc').search(searchService);
};
}
})();
SearchController.js:
(function () {
"use strict";
angular.module("logicApp")
.controller("SearchController", ['searchView', SearchController]);
function SearchController(searchView) {
var vMain = this;
vMain.searchView = searchView;
}
})();
SearchView.html:
<ul ng-repeat="item in vMain.searchView.Items">
<li class="product-little-pic">{{item.ImageUrl}}</li>
</ul>
searchResource.js:
(function () {
"use strict";
angular.module("logicApp")
.factory("searchResource", ["$resource", searchResource]);
// enter code here
function searchResource($resource) {
return $resource("/lsrc");
}
})();
非常感谢您的帮助。
【问题讨论】:
-
您在
templateUrl: '/app/search/SearchView.html'中似乎有错字。SearchView.html以大写字母开头,但在您的文本中您说searchView.html。尝试使用小写。 -
嗨@maxdec,感谢您的评论。在开发环境上是正确的。