角度ng-show"对象不是函数"但仍然添加了ng-hide类

时间:2015-04-23 21:38:29

标签: javascript angularjs

这是html:

<button ng-show="finalize == 'Finalize'" ng-click="SubmitInfo('value')">Submit</button>

我知道范围有一个值最终确定。我用ng-inspect检查过。它似乎正在正确评估,因为当我查看生成的源时,我看到class="ng-hide"

问题是在控制台上我看到:'TypeError: object is not a function'。我只是没有得到它。当我删除ng-show子句时,错误就消失了......

控制器代码:

    angular.element(document).ready(
fucntion () {

    $scope.finalize = $("#Finalize")[0].value;
}
    )

..来自服务器

这是一个小提琴,它也不起作用:

Jsfiddle

2 个答案:

答案 0 :(得分:1)

你的小提琴非常错误。

模块声明错误,未引用jquery。

这是我添加的一名傻瓜,它有效:

Plunkr

HTML:

<div ng-app="app" ng-controller="controller">
  <button ng-show="finalize == 'Finalize'" ng-click="SubmitInfo('value')">Submit</button>
  <button ng-show="finalize == 'All'" ng-click="SubmitInfo('value')">Another</button>
</div>

<input id="Finalize" type="hidden" value="Finalize">

使用Javascript:

angular.module('app', [])
.controller('controller', function($scope) {
        $scope.finalize = $("#Finalize")[0].value;
})

答案 1 :(得分:0)

您是否先在控制器中声明了变量?

$scope.finalize = 'Finalize';

$scope.SubmitInfo = function(value)
{
    $scope.finalize = 'nonFinalize';
};