我正在使用AngularJS尝试新事物,但我无法获得简单的输入值。
HTML:
<label class="item-input-wrapper">
<i class="icon ion-ios7-search placeholder-icon"></i>
<input type="search" placeholder="Search" ng-change="search()" ng-model="searchText" ng-init="searchText='demo'">
</label>
JS:
.controller('MoviesCtrl', function ($scope, $stateParams, lubTmdbApi) {
console.log("SearchText:"+$scope.searchText)
$scope.search = function() {
console.log("SearchText:"+$scope.searchText)
};
})
总是得到:
SearchText:undefined
更新:这是我的州
.state('app.movies', {
url: "/movies",
views: {
'menuContent': {
templateUrl: "templates/movies.html",
controller: "MoviesCtrl"
}
}
})
答案 0 :(得分:2)
我认为你的问题在于ng-init
指令。我删除它并在控制器上添加了一行,现在一切都适合我。我建议将ng-model
值包装在一个对象中(我听说这是为了继承)。
HTML:
<div ng-controller="MoviesCtrl">
<label class="item-input-wrapper">
<i class="icon ion-ios7-search placeholder-icon"></i>
<input type="search" placeholder="Search" ng-change="search()" ng-model="input.searchText" />
</label>
</div>
JS:
.controller('MoviesCtrl', function($scope) {
$scope.input = {
searchText: 'demo'
};
$scope.search = function() {
console.log("SearchText:" + $scope.input.searchText)
};
});