小编Ham*_*med的帖子

如何在Angular JS中的routeProvider中传递param?

我在Angular JS中使用routeProvider:

.when('/profile/personal', {
       templateUrl: 'personal.html',
       controller: 'EditProfileController'
})
Run Code Online (Sandbox Code Playgroud)

我如何将param传递给控制器EditProfileController,这里调用返回数据的Ajax方法.此数据必须显示在路径模板中personal.html.

例:

    .controller('EditProfileController', ['$scope', '$http', function ($scope, $http) {
         // If was click on `/profile/personal` from route, must get patam `personal` and call method GetAjax(param);
         $scope.GetAjax = function (param){
            //here return data put it in template HTML from route
         }  

    }]);
Run Code Online (Sandbox Code Playgroud)

我的链接位于页面路径中:

http://wd.tk/profile

当我点击链接路线时,我得到了URL:

http://wd.tk/profile#/profile/personal/1

我会做:

.controller('EditProfileController', ['$scope', '$http', function ($scope, $http, $routeParams) {
   console.log($routeParams);
}]);
Run Code Online (Sandbox Code Playgroud)

我收到错误:

TypeError: Cannot read property 'idProfile' of undefined
Run Code Online (Sandbox Code Playgroud)

angularjs

5
推荐指数
1
解决办法
7388
查看次数

如何在Angular JS中检查上传文件的类型?

我在Angular JS中使用库Angular File Uploader。这filters就是允许将文件类型设置为上载的方式。我这样做像:

uploader.filters.push({
    name: 'imageFilter',
    fn: function (item /*{File|FileLikeObject}*/, options) {
    var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
         return '|doc|txt|docx|xml|pdf|djvu'.indexOf(type) !== -1;
   }
});
Run Code Online (Sandbox Code Playgroud)

问题是用户可以更改扩展文件,例如,更改*.exe*.pdfAngular Uploader并将其添加到队列上传之后。

以及如何在模板中显示信息,PDF和txt文件在哪里?

javascript angularjs

5
推荐指数
1
解决办法
1441
查看次数

如何检查Angular JS中的两个单选按钮之一?

我从Angular JS的AJAX查询中获取数据.是关于用户的信息.页面中有两个输入单选按钮:

<input type="radio" ng-model="sex" value="1">
<input type="radio" ng-model="sex" value="2">
Run Code Online (Sandbox Code Playgroud)

从AJAX我得到了领域{'sex' : '1'}.我如何检查输入value = 1并将其值设置为ng-model

angularjs

2
推荐指数
1
解决办法
1052
查看次数

ng-change后Angular JS有什么奇怪的错误?

ng-change在选择列表HTML中有事件:

<select class="form-control select short-input" ng-model="albumSelect" ng-change="selectedAlbum(albumSelect)" required>

<div ng-show="selectedAlbum == 'public'" class="cateroryArticle dropdown-checkbox dropdown"></div>
Run Code Online (Sandbox Code Playgroud)

Angular JS:

$scope.selectedAlbum = function (item) {
   $scope.selectedAlbum = item;
}
Run Code Online (Sandbox Code Playgroud)

当我在选择列表中更改选项时,我收到错误:

TypeError:k不是ib.functionCall(angular.min.js:198)在l.$ get.l. $ eval(angular.min.js:125)at angular.min.js:213 at angular的函数. min.js:225 at s(angular.min.js:7)at dg.$$ writeModelToScope(angular.min.js:225)at angular.min.js:225 at l(angular.min.js:223) at g(angular.min.js:223)at dg. $$ runValidators(angular.min.js:224)

我找不到这个错误的原因.可能是什么?

angularjs

1
推荐指数
1
解决办法
3099
查看次数

Angular JS中的双呼叫控制器?

我有控制器与执行AJAX请求的方法:

.controller('EditProfileController', ['$scope', '$http') {
   // Do AJAX query here

   // Some methods for update profile
}]);
Run Code Online (Sandbox Code Playgroud)

$routeProvider也在这个Angular JS文件中:

.config(function ($routeProvider) {
    $routeProvider
        .when('/profile/personal/:type', {
            templateUrl: '/personal.html',
            controller: 'EditProfileController'
    })
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我用URL打开页面时,/profile/personal/:type它再次调用控制器EditProfileController并调用内部的AJAX方法.

我怎么解决它?

HTML代码:

<div ng-controller="EditProfileController">
   <!-- Here are loaded data from AJAX response
</div>
Run Code Online (Sandbox Code Playgroud)

解决方案: 问题ng-view在模板中是双重的:

<div ng-show="isLoaded" ng-view></div>
<div ng-show="!AILoading" ng-view></div>
Run Code Online (Sandbox Code Playgroud)

angularjs

1
推荐指数
1
解决办法
579
查看次数

标签 统计

angularjs ×5

javascript ×1