sagen, dass ich eine App wie folgt schreiben:Kann ich ein Objekt in angularjs erweitern?
<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>
Jetzt möchte ich eine Benutzeroberfläche hinzufügen, damit ich entscheiden AngularJS zu verwenden. Also schreibe ich dies:
<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>
Auch bekam ich diesen
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);
})
Dann habe ich den Zurück-Button klicken und die Konsolenprotokolle „Sie klickte zurück“, aber der Wert nicht ändert. Warum erweitert JQuery die Arbeit in dieser Situation nicht und wie kann ich das richtig funktionieren lassen?
'$ .Extend' wird gut funktionieren .. Aber ... lesen/sehen [this] (https://github.com/angular/angular.js/wiki/Understanding-Scopes). – calebboyd
Warum?!? Warum stechst du uns die Augen, indem du die Leerzeichen aus deinem Code entfernst? http://static4.wikia.nocookie.net/__cb20120328010203/adventuretimewithfinnandjake/images/b/b2/My_eyes.gif – hypno7oad
Wovon redest du über @ hypno7oad? –