javascript - 当 ngView 通过自身内部的链接更改时,我的函数将从 $scope 中剥离

标签 javascript angularjs

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

请帮助我找出我做错的地方,也许稍微了解一下 ngView 是如何在范围内加载和销毁的。谢谢。

这里是主要的 html 代码:

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

应用程序.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");}

关于javascript - 当 ngView 通过自身内部的链接更改时,我的函数将从 $scope 中剥离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27330147/

相关文章:

javascript - 按位 AND OR 和 XOR 如何处理 -negative 有符号整数?

javascript - 如何使用 Codeigniter、Javascript 和 GET 表单在 URL 中强制使用逗号

angularjs - 抽象状态、ui-router、angularjs url 中的 stateParams

javascript - CSS 裁剪图像以适应屏幕宽度,同时保持图像的原始高度

javascript - 在文件夹中添加电子表格文件

javascript - angular-bootstrap 日期选择器显示 'yyyy-mm-dd' 格式的错误日期

javascript - 延迟反 promise 模式不清楚的例子

javascript - 为什么我的简单的 Angular 示例不能在 fiddle 上工作?

javascript - 单击父按钮单击时如何重置子输入的数据和 View ?

javascript - 当我更改语言时, Angular 翻译不会刷新 Controller 中的翻译