问题描述
为什么AngularJS的ng-click、ng-bind和ng-repeat不执行?
为什么ng-repeat也不创建<tr>...</tr>
?只有li、ul、table
等可以?
问题出现的环境背景及自己尝试过哪些方法
我想要动态地根据bottom的click时间更新数据中的table
相关代码
<!DOCTYPE html>
<html lang="en" ng-app="mode1">
<head>
<meta charset="UTF-8">
<script src="angular.js"></script>
<script>
let mode1 = angular.module("mode1",[])
mode1.controller("controller1",function($ecope){
$ecope.array1=[]
})
</script>
<title>Title</title>
</head>
<body ng-controller="controller1">
<div><input type="input" id="input1" class="input" value="1" ng-model="data1"></div>
<div><input type="input" id="input2" class="input" value="2" ng-model="data2"></div>
<div><input type="input" id="input3" class="input" value="3" ng-model="data3"></div>
<div><input type="input" id="input4" class="input" value="4" ng-model="data4"></div>
<div><button id="button1" ng-click="array1.push([data1,data2,data3,data4])">提交</button></div>
<div>
<li ng-bind="data1"></li>
<li ng-bind="data2"></li>
<li ng-bind="data3"></li>
<li ng-bind="data4"></li>
</div>
<div>
<table ng-repeat="i in array1">
<tr>
<td>{{i[0]}}</td>
<td>{{i[1]}}</td>
<td>{{i[2]}}</td>
<td>{{i[3]}}</td>
</tr>
</table>
</div>
</body>
</html>
你期待的结果是什么?实际看到的错误信息又是什么?
只有使用ng-init="array1=[]
且不使用ng-controller="controller1"
的时候才成功。
期待的结果:
实际结果:
控制台输出:
angular.js:14525 Error: [$injector:unpr] Unknown provider: $ecopeProvider <- $ecope <- controller1
http://errors.angularjs.org/1...$injector/unpr?p0=%24ecopeProvider%20%3C-%20%24ecope%20%3C-%20controller1
at angular.js:66
at angular.js:4789
at Object.getService [as get] (angular.js:4944)
at angular.js:4794
at getService (angular.js:4944)
at injectionArgs (angular.js:4969)
at Object.invoke (angular.js:4995)
at $controllerInit (angular.js:10866)
at nodeLinkFn (angular.js:9746)
at compositeLinkFn (angular.js:9055)
$scope