假设我写了一个类似这样的应用:
<script>
myArray=<?php echo $array;?>;
app={
myArray:myArray,
myIndex:myArray.length-1,
back:function(){this.myIndex--;console.log("You clicked back");},
forward:function(){this.myIndex++}
}
</script>
现在我想添加一个用户界面,所以我决定使用angularJS。因此,我写下了以下内容:
<div ng-app="myApp">
<div ng-controller="AppCtrl">
<div ng-repeat="value in myArray | slice:myIndex:myIndex+1">
<div ng-cick="back()">Back</div>
<div ng-bind="value"></div>
<div ng-cick="forward()">Forward</div>
</div>
</div>
</div>
我收到了这个。
var myApp=angular.module('myApp', [])
myApp.filter('slice', function() {
return function(arr, start, end) {
return arr.slice(start, end);
};
});
myApp.controller("AppCtrl",function($scope){
$.extend($scope,app);
})
然后我点击了返回按钮,控制台记录了“您点击了返回”,但是值没有改变。为什么 JQuery extend 在这种情况下不起作用,我该如何使其正常工作?
$.extend
会很好用...但是...请阅读/观看此链接:https://github.com/angular/angular.js/wiki/Understanding-Scopes。 - calebboyd返回:function(){ this.myIndex--; console.log("您点击了返回"); }
唉...我不能在评论中格式化。 :/ - hypno7oad