Управляйте dom-if дочернего элемента после получения свойства от родительского элемента

Я новичок в полимере, я хотел выполнить сценарий ниже... У меня есть переменная связывания {{readonly}}, через которую я отправляю данные из родительского Dom-HTML в дочерний Dom-HTML в Polymer

Фрагмент кода примерно такой..

вызов дочернего DOM из родительского (я уже инициализировал только для чтения в родительском со значением "true")

<wms-griddata order-obj='{{item}}' readonly='{{readonly}}'></wms-griddata>

В дочернем элементе

<dom-module id="wms-griddata">
.....
   <template is="dom-if" if="{{_isreadonly()}}">
    <callsome1></callsome1>
</template>
<template is="dom-if" if="{{!_isreadonly()}}">
    <callsome2></callsome2>
</template> 

 <script>
    Polymer({
    is : 'wms-griddata',
    properties: {
           readonly: {
                    type: String
                }
    .......
    .......
            _isreadonly: function(){
                if(this.readonly == 'true')
                   return true;
                else
                   return false;
        }

Я обнаружил, что в дочернем элементе сначала запускается created, затем рисуется HTML, затем все свойства локального DOM получают значение от родителя.

Но я хочу, чтобы dom-if проверялся только после того, как я получу значение от родителя {{только для чтения}}, чтобы я мог вызвать правильный дочерний элемент. dom [звонок1 или звонок2]

Может ли кто-нибудь дать мне идею/трюк о том, как я могу достичь необходимого?

заранее спасибо


person Liakat Ali Mondol    schedule 28.09.2016    source источник


Ответы (1)


Вместо вызова this.readOnly я думаю, что вы должны передать эту переменную в качестве параметра функции _isReadOnly следующим образом:

_isreadonly: function(readOnly){
     return readOnly == 'true';
}

Итак, ваш html будет выглядеть:

<template is="dom-if" if="{{_isreadonly(readOnly)}}">
    <callsome1></callsome1>
</template>
<template is="dom-if" if="{{!_isreadonly(readonly)}}">
    <callsome2></callsome2>
</template> 

В этом случае при каждом изменении readonly будет вызываться функция _isreadonly и DOM будет обновляться.

person Flavio Ochoa    schedule 28.09.2016