我是新來的角度和手錶有一些麻煩。我正在監視控制器內的變量。一旦變量的值發生了變化,我想將這個改變的值發送給一個指令。通過角度指令訪問腕錶內的變量
這是手錶功能:
$scope.$watch("comboDetail", function(newValue, oldValue) {
$scope.overlayProductCard = $scope.comboDetail.collectionCd;
console.log("$scope.overlayProductCardWithinWatch", $scope.overlayProductCard);
}
我的指令:(裁剪爲閱讀的緣故)
return {
scope: {
productCard: '='
},
restrict: 'E',
templateUrl: appVersionFactory.getViewBaseUrl() + '/assets/partials/tv/tv-overlay-link.html',
replace: true,
link: function($scope, iElm, iAttrs, controller) {
console.log("$scope.productCard", $scope.productCard);
};
但是,$scope.productCard
返回undefined我而$scope.overlayProductCardWithinWatch
返回我正確的數據。
如何在指令中接收這些數據?
在你的html如何通過productCard到你的指令? 2路綁定應該注意更新指令的'productCard',所以你不需要做任何事情來「傳入」。指令中的'console.log'函數在第一次創建指令並且productCard爲「未定義」時運行。這可能是在稍後的時間點設置爲值 – rob
應該寫在問題中,但這裏是我的HTML: tv-overlay-link> –
看起來不錯。所以當你改變你的控制器的'$ scope.overlayProductCard'時,它會自動設置該指令的'$ scope.productCard' – rob