我是角JS的新手。我使用ngRoute創建了一個簡單頁面。 在第一個視圖中,我有一個表格,點擊它後重定向到第二個視圖。 但我調用了ng-click
這兩個函數,changeView
函數運行正常。但第二個函數無法在第二個視圖上執行。 但它運行良好,如果使用第一視圖本身。
下面有用於第一視圖 Angular.php函數沒有在不同的視圖上執行
<div ng-app="myApp" ng-controller="dataCtr">
<table class='table table-striped'>
<thead>
<tr>
<td>Title</td>
<td>Stream</td>
<td>Price</td>
</tr>
</thead>
<tbody>
<tr ng-repeat = "x in names | filter:filtr | filter:search" ng-click=" disp(x.id);changeView()">
<td >{{ x.Title }}</td>
<td>{{ x.Stream }}</td>
<td>{{ x.Price }}</td>
</tr>
</tbody>
</table>
</div>
繼承人的代碼的第二視圖 details.php:
<div ng-app="myApp" ng-controller="dataCtr">
<div class="container">
SELECTED:<input type="textfield" ng-model="stxt">
</div>
</div>
繼承人JS文件:
var app = angular.module("myApp", ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when('/angular', {
templateUrl: 'angular.php',
controller: 'dataCtr'
})
.when('/details', {
templateUrl: 'details.php',
controller: 'dataCtr'
})
.otherwise({
redirectTo: '/angular'
});
});
app.controller('dataCtr', function($scope ,$http ,$location ,$route ,$routeParams) {
$http({
method: "GET",
url: "json.php"})
.success(function (response) {$scope.names = response;});
$scope.changeView = function()
{
$location.url('/details');
};
$scope.disp = function(id)
{
$scope.stxt = $scope.names[id-1].Title;
};
});
disp
函數在角度視圖上工作正常。但是沒有按照第二種觀點排列。我認爲用ng來點擊兩個視圖的語法是正確的。或者是否有任何其他方法將關聯的表格單元值調用到第二個視圖。請幫忙。
對於每個視圖您應該有不同的控制器 –
在兩個視圖中使用相同的控制器名稱並不意味着共享視圖。每次加載視圖時,都會創建一個新的控制器。此外,爲什麼你的兩個視圖都有ng-app聲明 – Chandermani
ok關於ng-app聲明,我認爲這是必要的(對於angular :)而言)。關於使用相同的控制器,我認爲單個視圖的不同視圖現場工作這種方式。但使用兩個控制器也不起作用。 – ronit