我试图复制以下带有关闭按钮的简单对话框的Angular UI示例.https://github.com/angular-ui/bootstrap/blob/master/src/dialog/README.md.但是,我无法将dialog参数正确地注入到对话框控制器中.
控制器如下所示(使用CoffeScript)
angular.module('myApp', ['ui.bootstrap'])
angular.module('myApp').controller 'MyController', ($dialog, $scope) ->
$dialog.dialog().open('dialogTemplate', 'DialogController')
angular.module('myApp').controller 'DialogController', ['$scope', 'dialog', ($scope, dialog) ->
$scope.close = -> dialog.close()
]
Run Code Online (Sandbox Code Playgroud)
有关实时版本,请参阅Plunker:http://plnkr.co/edit/ejKh7w8Sk9H7Nz3rXhdc?p = preview
Angular给了我以下错误:
Unknown provider: dialogProvider <- dialog
Run Code Online (Sandbox Code Playgroud)
关于如何dialog注入参数的任何想法DialogController,如上面提到的文档示例中所示?我怀疑这可能与CoffeeScript有关,因为我对这种语言还不熟悉,但是当我查看编译后的输出时,这似乎是正确的.
我有一个包含3列的应用页面.中间列是主要活动,始终显示.两个侧面列是小部件列表,它们有自己的控制器和状态,可以是隐藏的也可以是非隐藏的,并且在它们中也有多个视图.理想情况下,我想象url路由如下:
/ app - 显示主要活动,两个面板都隐藏
/ app/1234 - 显示主要活动,但显示1234实体的信息
/ app/1234/leftpanel - 主活动显示为1234实体,左侧面板打开
/ app/1234/leftpanel/list - 主要活动显示为1234实体,左侧窗格显示列表视图
/ app/leftpanel/list - 主要活动显示默认状态,左侧面板仍显示列表
这可以用ui-router设置吗?我见过这个例子:
https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions
它展示了如何在多个模块之间使用$ stateProvider,但我仍然没有看到如何使这个场景工作 -
在我看来,我有一个输入,一个跨度和一个按钮,如下所示:
<script type="text/ng-template" id="myTemplate.html">
<input type="text" ng-model="phoneNumber">
<span>{{ phoneNumber}}</span>
<input type="button" ng-click="click()">
</script>
Run Code Online (Sandbox Code Playgroud)
在文本框中键入时,span更新的内容按预期读取.但是当单击按钮时,phoneNumber控制器内部没有更新:
app.controller('myPopopCtrl', ['$scope', '$modalInstance',
function ($scope, $modalInstance) {
$scope.phoneNumber= '';
$scope.click = function() {
alert($scope.phoneNumber); // alerts only ''
};
Run Code Online (Sandbox Code Playgroud)
是否有一些新的错误,你可以在角度,这使得内容不能在$scope控制器内部更新?
我需要注意的angular-ui模式是否存在一些范围问题?
编辑:
它似乎是phoneNumber在2个范围内创建的.有一次在蓝色箭头phoneNumber: ''的范围内,在红色箭头的儿童范围内和一次.视图使用phoneNumber子范围,控制器使用phoneNumber父范围...

为什么要创建两个范围?
如果我跑
bower install angular-ui-router --save
Run Code Online (Sandbox Code Playgroud)
发布目录(并且在其他目录中没有名为angular-ui-router.js的文件)是空的,所以我不能在我的脚本中包含该模块:(
有谁知道问题是什么?
我决定在我的博客上使用ui-tinymce(tinymce的角度版本).但我找不到相同的文档.将欣赏有关配置tinymceOptions的任何资源或任何建议.
这是git链接 - https://github.com/angular-ui/ui-tinymce
我如何在树中渲染JSON就像http://jsonviewer.stack.hu/使用角度JS一样?
javascript angularjs angular-ui angularjs-directive angular-ui-bootstrap
我刚开始学习angularjs,我正在使用angular-ui-router.我试图将数据从一个州发送到另一个州,$state.go但我没有成功.这是我到目前为止:
我没有故意包含html,因为我认为如果需要它不需要请告诉我,我会添加它.
我已将状态配置如下:
$stateProvider
.state('public', {
abstract: true,
templateUrl: 'App/scripts/main/views/PublicContentParent.html'
})
.state('public.login', {
url: '/login',
templateUrl: 'App/scripts/login/views/login.html',
controller: 'loginCtrl'
})
$stateProvider
.state('private', {
abstract: true,
templateUrl: 'App/scripts/main/views/PrivateContentParent.html'
})
.state('private.visits', {
url: '/visits',
views: {
'main': {
controller: 'visitsListCtrl',
templateUrl: 'App/scripts/visits/views/VisitsList.html'
}
}
});
Run Code Online (Sandbox Code Playgroud)
当我LoginController被调用时,它将执行以下代码:
loginModule.controller('loginCtrl', ['$state', function ($scope, $state) {
$state.go('private.visits', { name : "Object"});
}]);
Run Code Online (Sandbox Code Playgroud)
当private.visits页面处于活动状态,我试图打印$stateParams:
visitsModule.controller('visitsListCtrl', ['$stateParams',
function ($stateParams) {
console.log($stateParams);
}]);
Run Code Online (Sandbox Code Playgroud)
事物状态$ stateParams是一个空对象.我希望它包含我在loginCtrl中传递的对象.
编辑
看来如果private.visitsurl有这个url格式'/visits/:name',我还添加了属性params:["name"]我可以访问我从 …
我的ui-router状态提供程序中有以下状态:
$urlRouterProvider.when('/parent', '/parent/child');
$stateProvider.state('parent', {
url: "/parent",
abstract: true
});
$stateProvider.state('parent.child', {
url: "/child"
});
Run Code Online (Sandbox Code Playgroud)
其遵循其解释为默认子状态的最佳实践这里在UI路由器文档.
但是,当我现在在我的文档中包含一个链接引用父文件时ui-sref,<a ui-sref="parent">Link</a>我总是会收到错误,说我无法转换为抽象状态.当我手动将URL输入地址栏并点击输入时,一切正常.
相关的Plunker:http://plnkr.co/edit/d3Z0tOwC3VCTPqGiB0df?p =preview
如何ui-sref与默认子状态结合使用?
我想在ui-Grid 3.0中显示' No Data Available ',如果来自ajax的响应包含空的json数据数组ie;
data = {"data": []};
Run Code Online (Sandbox Code Playgroud)
现在,如果我这样做 -
$scope.gridOptions.data = data.data;
Run Code Online (Sandbox Code Playgroud)
'无数据'必须在ui-Grid中出现.
目前发生的是,如果数据为空,用户将获得空白屏幕.
另外如何将其作为默认功能?
在这里查看plunker.
我试图让我的嵌套路线工作,但现在给我两天的艰难时间:(
一级工作正常
两个级别工作正常
三个级别不起作用!
任何人都可以帮帮我吗?
提前致谢
angular.module('settings', []).config(['$stateProvider', '$routeProvider', '$urlRouterProvider', function($stateProvider, $routeProvider, $urlRouterProvider) {
$stateProvider
.state('settings', {
url: '/settings',
template:"Settings",
controller: function(){
console.log('settings');
}
}).
state('settings.branch', {
url: '/{branchId:[0-9]{1,8}}',
template:"Branch",
controller: function(){
console.log('branch');
}
}).
state('settings.branch.prop', {
url: '/prop',
template:"Property",
controller: function(){
console.log('property');
}
});
}]);
Run Code Online (Sandbox Code Playgroud)
'/ settings'正在运行
'/ settings/1234'正在运行
'/ settings/1234/prop'不起作用,总是返回普遍状态'分支'