ngView的新手,我写了一些代码,与ngView的示例代码有些不同。通常,用于操作ngView的URL在其外部,而在我的代码中,链接位于ngView模板内。问题是,当我单击下面的ShowOrder链接时,出现TypeError,未定义函数$ scope.show()。在单击链接之前和之后,我都打印了$ scope对象。我的嫌疑人被证实。在单击$ scope定义函数Show()之前,之后$ scope变成裸露的,就像由角所生,没有任何自定义属性。

请帮助我找出错误的地方,也许是关于ngView的加载方式(在范围内销毁)的一些内在信息。谢谢。

这是主要的html代码:

<body ng-app="sampleApp" ng-controller="rootCtrl">
    <div ng-view></div>
</body>


App.js:

var sampleApp = angular.module('sampleApp', ['ngRoute']);
sampleApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/ShowOrder', {
    templateUrl: 'templates/show_order.html',
    controller: 'ShowOrderController'
      });
}]);
sampleApp.controller('ShowOrderController', function($scope) {
    $scope.show = function {console.log("here")}
});


模板代码:

<h2>Show Orders</h2>
<a href="#ShowOrder"> Show Order </a>
{{show()}}

最佳答案

你说

$scope.show = function {console.log("here")}`


应该

$scope.show = function() {console.log("here");}

07-24 13:10