AngularJS 中使用 {{}}表达式的值作为 dom属性的问题

我自己写了一个filter 代码如下:

app.filter('selected', function() {
      return function(input, value) {
        var out = "";
        if(input == value){
            out = "selected";
        }
        return out;
      };
    });

页面代码如下:

            <select class="form-control input-sm" style="width: 60px;">
                <option {{data.page.pageSize|selected:5}} >5</option>
                <option {{data.page.pageSize|selected:10}} >10</option>
                <option {{data.page.pageSize|selected:20}} >20</option>
                <option {{data.page.pageSize|selected:50}} >50</option>
            </select>

但是现在这样写不起作用,pageSize是任何值的时候都没有效果。 哪位大神指教下谢谢了!

阅读 3.2k
2 个回答

要不别用filter了,这么改改?

 <select class="form-control input-sm" style="width: 60px;">
    <option ng-selected="data.page.pageSize === 5">5</option>
    <option ng-selected="data.page.pageSize === 10" >10</option>
    <option ng-selected="data.page.pageSize === 20" >20</option>
    <option ng-selected="data.page.pageSize === 50" >50</option>
</select>
<select class="form-control input-sm" style="width: 60px;">
    <option data-ng-selected="{{data.page.pageSize | selected: 10}}" >10</option>
    <option data-ng-selected="{{data.page.pageSize | selected: 20}}" >20</option>
    <option data-ng-selected="{{data.page.pageSize | selected: 50}}" >50</option>
</select>


app.filter('selected', function() {
      return function(input, value) {
        return input == value;
      };
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进