0

以下は、LabelViewが定義されている場所です。クリックするとアラートボックスにも値が表示されるため、設定されているものは何でも設定されます。ただし、アラートボックスのみが出力を表示します。

    outputView: SC.LabelView.design({
          layout: { width: 500, height: 18 }, 
          valueBinding: SC.Binding.oneWay('Tree.categoriesControllerList.selection.content'),
          click: function(){ 
             alert(Tree.categoriesControllerList.getPath('selection.firstObject.content'))
          }})

valueなんらかの理由でラベルのが設定されていません。与えられた値はviewUpdate、次のように定義されます。

viewUpdate: function(){         
          if (this.didChangeFor('selectionDidChange', selection')&&this.getPath('selection.firstObject.notes')==null){
                    return this.getPath('selection.firstObject.content')
            }
        }.property()

ラベルをクリックするたびに、指示どおりにその値がアラートボックスに表示されるため、これが正しい値を返していると確信しています。

どこが間違っているのですか?

4

1 に答える 1

1

値バインディングの「firstObject」を忘れただけだと思います。

valueBinding: SC.Binding.oneWay('Tree.categoriesControllerList.selection.firstObject.content'),
于 2012-12-05T08:47:21.393 に答える