Javascript 无法将值从脚本绑定到角度值

Javascript 无法将值从脚本绑定到角度值,javascript,angularjs,Javascript,Angularjs,对于Angular来说,这是一个相当新的概念,并且正在尝试将从脚本计算出的值绑定到Angular模型以进行显示,出于某种原因,我无法让它显示出来 <!DOCTYPE html> <html> <head> <base href="." /> <title>modern Angular 1 playground</title> <link rel="stylesheet" hre

对于Angular来说,这是一个相当新的概念,并且正在尝试将从脚本计算出的值绑定到Angular模型以进行显示,出于某种原因,我无法让它显示出来

<!DOCTYPE html>
<html>
   <head>
      <base href="." />
      <title>modern Angular 1 playground</title>
      <link rel="stylesheet" href="style.css" />
      <script src="https://unpkg.com/systemjs@0.19.31/dist/system.js"></script>
      <script src="config.js"></script>
      <script>
         System.import('app')
           .catch(console.error.bind(console));
      </script>
   </head>
   <body>
      <my-app>
         loading...
      </my-app>
      <script>
         $scope.localDate = function() {
             var currentTime = new Date();
             var year = currentTime.getFullYear();
             var month = currentTime.getMonth();
             var day = currentTime.getDate();
             var date = new Date(Date.UTC(year, month, day));
             var localDate = date.toLocaleDateString();     
             return $scope.localDate;
         }

         console.log(localDate);
      </script>
      <p ng-model="localDate.localDate">Date = {{localDate}}</p>
   </body>
</html>
plnkr链路


您将无法访问外部的$scope,因为它是Angular应用程序的根

您可以从全局函数中删除对$scope的引用,然后在AppComponent中调用该函数:

localDate = function() {

  var currentTime = new Date();
  var year = currentTime.getFullYear();
  var month = currentTime.getMonth();
  var day = currentTime.getDate();

  var date = new Date(Date.UTC(year, month, day));
  var localDate = date.toLocaleDateString();

  return localDate;
}

例如:

export const AppComponent = {
  template: `
    <div>
      <h2>Hello {{ $ctrl.name }}</h2>
      <p>Date = {{ $ctrl.localDate }}</p>
    </div>
  `,
  controller: class AppComponent {
    $onInit() {
      this.name = 'modern Angular 1'  
      this.localDate = localDate();
    }
  }
};