后端提供一个完全呈现的站点,在前端我希望 angularjs 通过 ajax-call /data 绑定处理动态内容,但是如果您提供指令 ng-bind 然后 angularjs 将它们直接绑定到它们的初始值,在任何之前都是 NULL用户操作。
我找到了一个 hacky 解决方案,但我想知道是否有更好的或者另一个 js 框架可以完全满足我的要求:
https://github.com/herschel666/angular-lazy-bind
下面的例子应该有助于理解我的问题......一旦加载了js,初始值“hola server side”(服务器端交付)就消失了。我希望 innerhtml/value 保持这种状态并保持绑定活动但惰性,以便它只会在操作后更改它,重要的是 angularjs 不要重写服务器端已经写入的内容(重新编写)
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body >
<div ng-controller="GreetingController">
<!-- this value has to stay ... but keep its binding property in order to change it afer an user action -->
<span ng-bind="greeting"> hola server side</span>
<button ng-click="update()">update</button>
</div>
</body>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
<script type="text/javascript">
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.update = function (){
//do ajax calls and set greeting and other data to bind
$scope.greeting = 'Hola!';
}
}]);
</script>
</html>