我刚开始使用AngularJS,我有一个在任何地方都找不到的问题。
我想得到未解决的表达方式。请看这个例子:
<!doctype html>
<html ng-app="myApp">
<head>
<meta charset="utf-8">
<script src="lib/angular/angular.js"></script>
</head>
<body ng-controller="myController">
<script>
var synopticApp = angular.module('myApp', []);
synopticApp.controller('myController', ['$scope', function($scope) {
$scope.name1 = 'Frank';
}]);
</script>
<div>Hello {{name1}}</div>
<div>Hello {{name2}}</div>
<button ng-click="name2='John'">Set missing</button>
</body>
</html>
在我的范围内,我已将name1定义为'Frank',此处正确显示为'Hello Frank',而name2未定义,因此我只是'Hello'。
如果我点击我的按钮,我会在范围内添加name2,然后正确管理,因为我出现了'Hello John'。
问题是:编译/链接模板时,我是否可以通过编程方式获得在范围内找不到“name2”?
我需要的是获取“未发现”表达式的列表,并向服务器询问AngularJS稍后将通过在模型上插入这些对来呈现的表达式/值对。
编辑:为了澄清,我复制了我刚刚发表的评论: 我们的想法是在开始时没有在模型中定义任何数据。在“解析”模板之后,我应该确定所需的数据模型是什么。通过这个“所需”数据列表,我将查询一些数据库以获取此数据的值,这些数据最终会插入到模型中。我想知道是否可以“覆盖”编译或$ parse函数来知道在模型中没有成功找到哪些数据。