Я хотел бы иметь возможность передать литерал объекта конфигурации в мой фильтр из представления. Для этого я добавил второй, необязательный параметр в свой фильтр. Я могу передать литерал объекта фильтру, если я определяю его в контроллере, однако код разбивается, если я пытаюсь определить объект в представлении.Как передать объект литералу фильтру из вида в угловом?
$scope.message = 'Hello World';
$scope.configObj = {uppercase: true, exclamationMarks: 5};
<p>OK {{message | shoutFilter}}</p>
<p>OK {{message | shoutFilter:configObj}}</p>
<p>ERROR {{message | shoutFilter:{'exclamationMarks':2}}}</p>
Вы можете увидеть довольно надуманный пример здесь: https://jsbin.com/rojekitixo/1/edit?html,js,console,output
Я получил сообщение об ошибке:
Error: [$parse:ueoe] http://errors.angularjs.org/1.4.0/$parse/ueoe?p0=message%20%7C%20shoutFilter%3A%7BexclamationMarks%3A2
Я использую ['shoutFilter: {exclamationMarks: 2}'] (https://jsbin.com/pebedilufe/1/edit?html,js,console,output), и я получаю ту же ошибку. –
Не знаете, что вы изменили в jsbin. Я сделал это, и это сработало. Можете ли вы вернуть jsbin в исходные коды? – brewsky
Появляется работа:
Передача объекта, определенного в поле зрения, разрывает фильтр {{message | shoutFilter: {exclamationMarks: 2}}}
– brewsky