我是 angular 新手,在控制台中不断收到以下错误TypeError: name.replace is not a function
。我不确定究竟是什么原因造成的,但它似乎是由ng-style
语句引起的,也许与 camelCase 有关?
我不明白的部分是为什么ng-style="isFrontView() || !matches && {'display': 'none'}"
会抛出错误,但ng-style="!isFrontView() || !matches && {'display': 'none'}"
不会抛出错误。
为了纠正这种情况,我尝试从函数名中删除 camelCase 并全部小写。我也尝试使用!!isFrontView()
,但似乎都没有删除错误消息。
有谁知道这个错误消息的原因和潜在的修复?
HTML 模板:
<div class="system-view">
<div class="controller-container fill" id="systemView1" ng-style="isFrontView() || !matches && {'display': 'none'}">
<canvas id="canvasLayer-shell" data-layername="front" width="617" height="427"></canvas>
<i ng-if="!matches" class="fa fa-repeat toggle-view" ng-click="changeView()" ng-touch="changeView()"></i>
</div>
<div class="controller-container fill" id="systemView2" ng-style="!isFrontView() || !matches && {'display': 'none'}">
<canvas id="canvasLayer-shell" data-layername="back" width="617" height="427"></canvas>
<i ng-if="!matches" class="fa fa-undo toggle-view" ng-click="changeView()" ng-touch="changeView()"></i>
</div>
</div>
后端代码:
$scope.frontView = true;
$scope.matches = true;
$scope.isFrontView = function() {
return $scope.frontView;
};
$scope.changeView = function() {
$scope.frontView = !$scope.frontView;
};
PS 即使出现控制台错误,一切仍然正常。