布局中的Ng-switch元素问题



我使用ng-switch在布局中创建一个过滤输入字段。我正在切换路由名称,我使用这个字段来过滤ng-repeat中每一页的数据。

div(ng-controller="NavbarCtrl", ng-switch on="route.current.name")
                input.filter(ng-switch-when='offers',type="text", ng-model="$parent.$parent.search.title")
                input.filter(ng-switch-when='merchants',type="text", ng-model="$parent.$parent.search.name")

这种方法的问题是,我在一个页面上输入的值在导航到另一个路由时保持保存,并过滤另一个页面上的数据。我使用内置的角搜索过滤器,因此模型名称。

我能以某种方式重置路由更改的过滤器值吗?

另一个问题是,我发现这个$parent。$parent作用域访问不切实际,但我找不到一个更优雅的方式。

任何提示非常感谢!

正如评论中讨论的那样,混淆是围绕着search属性,它不是Angular中的一个特殊过滤器,而只是一个将与Angular的过滤器过滤器一起使用的属性名。

同样,如果使用/引用父作用域对象上的属性,则不需要$parent。也就是说,如果$scope.search = { ... }在父作用域中定义,子作用域(但不是指令隔离作用域)可以通过正常的JavaScript原型继承访问该对象。

相关内容

  • 没有找到相关文章

最新更新