コンポーネントを使用するコントローラのスコープでプロパティの値を取得できないような問題が発生しています。プロパティとして私は期待された結果を得るが、$ctrl.val
のような何かをしようとすると私の有能な内の私に不確定を与えるだろうが、3
は正しい結果を与えるでしょう。誰がなぜこれが起こっているのか知っていますか?角の1コンポーネントのバインディングが親コントローラの変数を評価しない
私はこのようなコンポーネント持っている:
function RatingController() {
let vm = this
this.$onInit = function() {
console.log("rating: ", vm.rating)
}
}
export default {
bindings: {
rating: '='
},
controller: RatingController,
template: `
<span>{{ $ctrl.rating }}</span
`,
}
をそして私はこのようにそれを初期化:上記
<div ng-controller="MainCtrl as main">
<star-rating rating="main.rating"></star-rating>
</div>
は常にしかし、この意志をやって、私のコンポーネントで未定義としての評価を持っています
:期待される結果に<div ng-controller="MainCtrl as main">
<star-rating rating="3"></star-rating>
</div>
MainCtrlを与えます
export default function CakeController(requestCakes, $routeParams) {
let vm = this
requestCakes.getOne($routeParams.id).then((res) => {
//compose objects together
vm = Object.assign(vm, res.data)
})
}
'MainCtrl'コードを表示できますか? –
@BartekFryzowicz私は上記にMainCtrlコードを追加しました。評価プロパティは、約束からの戻り値の一部として設定されています。今、私は問題が、その動作を説明する約束が返される前にコンポーネントが初期化されている可能性があると考えています。新しいデータが利用可能になったら、コンポーネントを更新する方法はありますか? –