1
我正在開發一個TODO app.I有一個模板,進行UI view'ed從index.html的(todoTemplate.html):如何用角度js中的另一個地方替換HTML模板?
<div class="container-fluid">
<div class="taskBox" ng-repeat="task in tasks">
<div class="well">
<h4 class="todoTitle">{{task.name}}</h4>
<br>
<h6>Created on : {{task.createdAt}}</h6>
<a id="{{task.id}}" ui-sref=".update" ng-click="showDiv=true" class="right-floated-edit fa fw fa-edit"></button>
<a ui-sref="#" class="right-floated-trash fa fw fa-trash"></a>
<br>
<a ui-sref="#" class="btn btn-warning form-control cross-btn">{{task.type}}</a>
</div>
<div ui-view ng-show="showDiv"></div>
</div>
</div>
這是我想代替上面顯示模板DIV連同ID(todoUpdate.html):
<div class="container-fluid">
<div class="taskBox">
<label for="taskName">Name</label>
<input type="text" name="taskName" placeholder="What needs to be done"/>
<input type="button" ng-click="updateTodo()" class="btn btn-success" name="update" value="Update"/>
<br>
<button class="btn btn-warning" ng-click="closeEditBox()">Back</button>
</div>
</div>
這是我的路線:
mod.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
$stateProvider.state('allTodo',{
url:'/todo',
templateUrl: 'modules/todo/views/todoTemplate.html',
controller: 'ToDoController'
})
.state('allTodo.update',{
url:'/update',
templateUrl: 'modules/todo/views/todoUpdate.html',
controller: 'UpdateController'
});
}]);
這些都是我的控制器:
angular.module('myTodoApp.todoModule.controllers',['myTodoApp.todoModule.services'])
.controller('ToDoController',['$scope','todoService',function($scope,todoService){
$scope.tasks=todoService.query();
}])
.controller('UpdateController',['$stateParams','$state','$scope','todoService',function($stateParams,$state,$scope,todoService){
$scope.closeEditBox=function(){
$state.go('allTodo');
};
$scope.updateTodo=todoService.query({id:$stateParams.id});
console.log($scope.updateTodo);
}]);
目前執行後,我得到這樣的: 簡單地說,我要表現出todoTemplate.html各自點擊鏈接的確切地點todoUpdate.html,我應該能夠編輯內容和調用API來更新數據。
在這個演示有看,你就會明白: https://todo-vue.herokuapp.com/
請幫我做取悅和非常感謝!
見我答更新你會幫助你。 –