У меня есть директива с изолированной областью. В области видимости есть свойство - переданное как строка ('@').Директива AngularJS с изолированной областью - значения атрибутов по умолчанию
Этот атрибут не является обязательным - я хочу установить значение по умолчанию для свойства, если в атрибутах директивы не передано никакого значения. Поэтому я написал следующую строку кода:
scope.someProperty = scope.someProperty || "New Value";
Но это не работает, как я ожидал ... scope.someProperty
остается пустым.
Я немного разобрался и понимаю, что односторонняя привязка к изолированному свойству scope (@) означает, что родительское значение может быть прочитано, но не записано. я хочу установить локальное значение свойства директивы и не изменять родительский элемент.
Как я могу это сделать?
См. Пример в этом plunker.
Попробуйте scope.someProperty = "New Value"; и переопределять его, когда это необходимо. Поскольку угловой является двухсторонним связыванием scope.someProperty = scope.someProperty || «Новая ценность»; приведет к ненужным путаницам. – sms
Изолирующая область предотвращает ненужные путаницы. Угловое - это не всегда двусторонняя привязка данных - @ для одного способа связывания –