我在Angular JS中有一個非常小的應用程序。它放置在一個更大的rails應用程序中,但我沒有看到太多的交互。角度應用程序允許用戶與一組類別進行交互。一樣容易:在角js小例子中綁定丟失(點擊後)
var angular_app = angular.module('angular_app', []);
angular_app.config(['$httpProvider', function($httpProvider, $cookieStore) {
//Protection
}]);
angular_app.controller('CategoriesController', function ($scope, $http) {
$scope.isEditing = false;
$scope.categoryName = '';
$http.get('/api/categories').success(function(data) {
//We use this to data-bind with the HTML placed below
$scope.categories = data;
});
$scope.addNewCategory = function() {
...
}
$scope.editCategory = function(index) {
if (!index)
return;
var selectedCategory = $scope.categories[index];
// With ng-show, we make visible the part of the UI
// that should be used for editing
$scope.isEditing = true;
}
$scope.cancelEditCategory = function() {
$scope.isEditing = false;
}
$scope.deleteCategory = function(index) {
...
}
});
angular.element(document).ready(function() {
angular.bootstrap(document, ['angular_app']);
});
的想法是,信息在列表中顯示,我們有一個「編輯」按鈕,允許用戶看到,這將讓他進行修改UI的其他部分。
<div ng-controller="CategoriesController">
<div ng-show='isEditing' class="popup_menu">
DIV FOR EDITING
</div>
<ul>
<li ng-repeat="category in categories">
<a href="#" ng-click='deleteCategory($index)'>[X]</a>
<a href="#" ng-click='editCategory($index)'>[E]</a>{{ category.name }}
</li>
</ul>
<input type="text" id="categoryTextBox" ng-model="categoryName"/>
<button id="submit" ng-click='addNewCategory()'>New category</button>
</div>
當我點擊編輯按鈕,用戶界面的相應部分變得可見,但只是在那之後,事情發生,那應該呈現列表中的UL,完全失去了約束力,只是顯示的東西像:
[X] [E]{{ category.name }}
當它必須顯示:
[X] [E]computer science
[X] [E]politics
[X] [E]news
(這是我在範圍內)。它發生了幾次點擊後(並工作一秒)。 控制檯上沒有錯誤,沒有與其他庫的交互(據我所知)。
謝謝!
查看瀏覽器控制檯日誌以查找錯誤。 – Chandermani
謝謝!,但錯誤日誌是空的。 – IoChaos