我在一些非常简单的事情上遇到了问题,比如向控制器中注入一个基本的服务,尽管我阅读了文档和其他问题,但我真的看不出我正在犯的错误。
下面是我的简化代码:
angular.module ('travelApp', ['ui.bootstrap', 'ngRoute'])//控制器
.controller('searchController', ['$scope','myParams', function ($scope,ngRoute,myParams){
$scope.place = myParams.place;
$scope.$watch('place', function(){
myParams.place = $scope.place;
});
$scope.bind = function(){
console.log(myParams.getPlace);
};
}])//服务
.service('myParams', function(){
this.place = 'start';
});//我的HTML
<div class="container" ng-app="travelApp">
<div class="jumbotron" id="searchPage" ng-controller="place">
<div>
<h3>Start Here</h3>
<input type="text" class="form-control" id="searchBar" ng-model="place">
<a type="button" class="btn btn-default" ng-click="bind()">bind data</a>
</div>
</div>在过去的几个小时里,我尝试了很多方法,但一直收到
"TypeError:无法设置未定义的属性'place‘“
似乎控制器内部的服务是不可用的,我不知道它是否与路由有关,但我怀疑是这样的。
有人能给我指个方向吗?
这是一个Plunker
发布于 2015-10-03 09:30:38
如果使用数组语法,则依赖项必须匹配。从控制器的参数中删除ngRoute。
.controller('searchController', ['$scope','myParams', function ($scope, myParams){https://stackoverflow.com/questions/32917999
复制相似问题