我在angularjs和ionic-framework中创建了自定义指令下拉列表。在我的下拉列表项目将以模态弹出窗口打开,这是非常好的。
但是我保留了搜索输入框,其中有清晰的按钮输入框,如果我放ng-model='search'
而按下按钮,那么它会非常好,但如果我放了功能并尝试从指令模块中删除它将无法正常工作
在模板中
ng-click="search=''"
在指令模块
中<input type="search" ng-model="search" placeholder="select city...">
<button ng-show="search.length" ng-click="clearSearch()" class="customIcon button button-icon ion-close-circled input-button"></button>
那么它会给我错误
$ scope.search未定义
我只是非常混淆$ scope事情我也想知道我怎么能知道范围任何工具或什么
我还有另一个问题,我保持两个自定义指令相同,当第一个控件更改其值时,我想清除第二个指令中的选择,因为我正在做$ watch但我不明白我怎么能理解做
答案 0 :(得分:1)
我没有使用Ionic的经验,但这些类型的问题通常与原型继承在JS和AngularJS中的工作方式有关。
可以找到与Angular相关的原型继承的一个很好的解释here。
通常可以通过将属性移动到对象中来解决此问题:
$scope.viewModel = {};
$scope.clearSearch = function() {
$scope.viewModel.search = '';
};
然后在您需要的HTML中使用viewModel.search
:
<input type="search" ng-model="viewModel.search" placeholder="select city...">