双向数据绑定不是在<ion-content>
中进行的。我无法获得$ scope变量的更新值(&#34; searchKeyword&#34;在这种情况下)。如果我将html放在<ion-conent>
之外,那么它就可以了。我对此行为非常困惑。下面的代码可以使用,
<ion-view view-title="Search" >
<div class="bar bar-header item-input-inset" style="height:52px;">
<label class="item-input-wrapper">
<i class="icon ion-ios-search placeholder-icon"></i>
<input type="search" placeholder="Search" ng-model="searchKeyword" ng-keyup="$event.keyCode == 13 ? search() : null">
</label>
<button class="button button-clear" ng-click="search()">
search
</button>
</div>
<ion-content scroll="true" style="margin-top:50px;" >
</ion-content>
</ion-view>
但下面没有:(
<ion-view view-title="Search" >
<ion-content scroll="true" style="margin-top:50px;" >
<div class="bar bar-header item-input-inset" style="height:52px;">
<label class="item-input-wrapper">
<i class="icon ion-ios-search placeholder-icon"></i>
<input type="search" placeholder="Search" ng-model="searchKeyword" ng-keyup="$event.keyCode == 13 ? search() : null">
</label>
<button class="button button-clear" ng-click="search()">
search
</button>
</div>
</ion-content>
</ion-view>
这里,在search()函数中,我没有获得&#34; searchKeyword&#34;的更新值。下面是我的控制器,
angular.module('myapp')
.controller('SearchController',function($scope){
$scope.searchKeyword='';
$scope.search=function(){
console.log('search keyword : '+$scope.searchKeyword);
};
})
答案 0 :(得分:2)
$scope.searchKeyword
中的 search()
和ng-model
在输入值发生更改后引用不同的范围,因为<ion-content>
创建了新的范围。不幸的是,对于原始值,这需要解决。有关更深入的解释,请参阅this SO answer。