2017-07-04 64 views
0

在我的瀏覽器中,不顯示角度大括號的值。控制檯中沒有錯誤,控制檯會記錄該值,但在我的瀏覽器中它是一個空白頁面。但是它應該在左上角說'hello World'。無法在html中呈現的角度大括號

我app.js:

(function() { 
     'use strict'; 
     angular.module('testModule', []); 
    }()); 

我的控制器:

(function() { 
     'use strict'; 
     angular 
      .module('testModule') 
      .controller('testController', Controller); 
     Controller.$inject = []; 

     function Controller() { 
      var vm = this;   
      vm.test = "hello World";   
      activate(); 
      function activate() { 
       console.log(vm.test); 
      } 
     } 
    })(); 

我的html:

<body ng-controller="testController"> 
    <div> 
     {{vm.test}} 
    </div> 
</body> 
+0

訪問有關使用$範圍如何? – guilhebl

+0

使用$ scope顯然是不好的語法,他們不允許它在我工作的地方。他們這樣設置,它總是有效的,但由於某種原因,這並不是。 –

回答

1

你需要重寫這一行

<body ng-controller="testController"> 

<body ng-controller="testController as vm"> 

這是因爲您在控制器中使用this,並且引用範圍變量this無法直接通過Angular表達式訪問,所以您需要使用as創建控制器的別名,您可以給它任何別名。然後使用這個別名來訪問作用域變量。如果您使用

`<body ng-controller="testController as ctrl">` 

,那麼你需要通過{{ctrl.test}}

+0

非常感謝。我不能相信我錯過了這一點。 –

+0

是的,你錯過了。我編輯了我的答案,並在解釋中添加了更多細節。 –