这是代码的外观:

<div ng-init="companyData">
  <script type="text/javascript">
    window.timeline = new TL.Timeline('timeline-embed', sampleJson);
  </script>
</div>


有没有办法将companyData中的ng-init传递给timeline?我想要这样的东西:

<div ng-init="companyData">
  <script type="text/javascript">
    window.timeline = new TL.Timeline('timeline-embed', {{companyData}});
  </script>
</div>

最佳答案

尝试在控制器逻辑中初始化new TL.Timeline()。我尝试避免使用ng-init,因为它总是在应用程序的“视图”侧以很多逻辑结尾。在控制器中处理这种东西会更加整洁。

视图

<div ng-controller="MyCtrl"></div>


AngularJS应用

var myApp = angular.module('myApp',[]);

myApp.controller('MyCtrl', function ($scope) {
    $scope.companyData = 'someData';
    window.timeline = new TL.Timeline('timeline-embed', $scope.companyData);
});

10-08 19:24