2016-08-08 20 views
0

コントローラのスコープ内にあるJSONオブジェクトからデータを表示しようとしています。これは、イオンポップアップを呼び出す関数内で発生します。私がしようとしていることは、ポップアップ自体を構築するために使用されるテンプレートにこのデータを表示することです。以下の機能は、コントローラ内に宿る:何らかの理由イオンポップアップで角度式が正しく評価されない

this.showAlert = function(i) { 

this.pref = [{ 
    label: "Foo", 
    addr_l1: "Bar", 
    addr_l2: "Baz", 
    locality: "Pez" 
}]; 

var popUp = '<p>dcd{{pickupCtrl.pref[' + i + '].addr_l1}}</p>' + 
    '<p>{{pickupCtrl.pref[' + i + '].addr_l2}}</p>' + 
    '<p>{{pickupCtrl.pref[' + i + '].locality}}</p>'; 

var alertPopup = $ionicPopup.alert({ 
    title: this.pref[i].label, 
    template: popUp, 
    buttons: [{ 
    text: 'Cancel' 
    }, { 
    text: '<b>OK</b>', 
    type: 'button-positive', 
    onTap: function(e) { 
     // add choice 
    } 
    }, ] 

}); 

}

、テンプレートは、角度表現を表示していないが、それは私がテストとして添加「DCD」テキストを表示しません。これは、表現自体を呼び出す方法に何か間違っていることを意味します。

正しく表示されるようにテンプレート内で変数を指定する方法を教えてください。

+1

何アラートに渡す前に値を結合について? '

dcd' + pickupCtrl.pref [i] .addr_l1 + '

' .... – tpsilva

+0

私はそれを考えなかったとは思いません!ありがとう、魅力のような作品! – jablesauce

答えて

0

主な問題は、イオンポップアップのパラメータの一部としてscope: $scopeを追加するのを忘れたことでした。基本的にから:これまで

title: this.pref[i].label, 
template: popUp, 
buttons: [{ 
    text: 'Cancel' 
}, { 
    text: '<b>OK</b>', 
    type: 'button-positive', 
    onTap: function(e) { 
    // add choice 
    } 
}, ] 

title: this.pref[i].label, 
template: popUp, 
scope: $scope, // ADD THIS 
buttons: [{ 
    text: 'Cancel' 
}, { 
    text: '<b>OK</b>', 
    type: 'button-positive', 
    onTap: function(e) { 
    // add choice 
    } 
}, ] 
関連する問題