簡體   English   中英

為什么$ scope變量里面的指令沒有得到更新?

[英]why $scope variable inside directive is not getting updated?

我已經為使用角的高圖做了指令,正在渲染地圖。 我需要將最終配置的對象傳遞回控制器。 因此,我在指令中這樣分配,

  $timeout(function() {
      scope.mapconfigured = mapConfig;
   });

最初,我這樣定義控制器,

app.controller('mainCtrl', function($scope, DB) {
    $scope.mydata = DB.getStatesData();
    $scope.mapconfigured = {};
}

但是mapconfigured變量沒有在指令中更新,並且控制器也沒有打印我確切需要的內容。

我也最初是將mapconfigured變量分配給指令

  <my-map mapconfigured="mapconfigured" mydata="mydata" header="'Highmap Demo'"></my-map>

這是什么問題? 這是應用程序

預期的輸出:

我需要將mapConfig對象分配給控制器內部范圍的mapconfigured變量。

那是因為您在作用域指令中使用了mapconfigured ,而在鏈接指令中您試圖用數據定義mapConfigured

替換為以下代碼:

  $timeout(function() {
      scope.mapconfigured = mapConfig;
  });

正如Ivan在評論中提到的那樣,它是一個錯別字,作用域變量我在控制器中聲明為“ mapconfigured”,但在指令i中卻分配給了“ mapConfigured”,因此像這樣工作

<my-map mapconfigured="mapconfigured" mydata="mydata" header="'Highmap Demo'"></my-map>

$timeout(function() {
   scope.mapconfigured = mapConfig;
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM