尝试根据 JSON 类型显示内容,没有带 angular 的控制器
Trying to display content based on JSON type, no controller w/ angular
我有一个 JSON 文件,其中包含一个对象数组或一个字符串。我正在尝试根据那里的 JSON 类型显示它。
JSON 文件,
场景 1 JSON
"thing":{"important":"a giant banana"}
情景 2 JSON
"thing":{"important":[
{"one":"one banana"},
{"two":"two banana"}
]}
所以我尝试了,
<p ng-show='angular.isString(thing.important)'>Hey guy im a string</p>
和
<p ng-show="typeof thing.important === 'string'">Hey guy im a string</p>
但当然两者都不起作用,我如何根据 JSON(数组或字符串)
中的类型在 ng-show 中放置一些内容来显示
您无法直接在 HTML 上访问 Javascript 方法,因为 $scope
只对视图公开,无论您在 {{}}
中尝试什么,都可以在 $scope
控制器并对其进行评估。
如果您想直接在 Javascript 视图中访问可用的 object/methods,那么您应该使用将这些对象放入 $scope
属性,然后将其放入可从 UI.
访问
HTML
<p ng-show='angular.isString(thing.important)'>Hey guy im a string</p>
控制器
$scope.angular = angular; //but this is not preferred way to do it.
另一种方法是您可以在 ng-show
& 中调用该方法,它将与本机 method/object.
通信
HTML
<p ng-show="checkStringType(thing.important)">Hey guy im a string</p>
控制器
$scope.checkStringType = function(val){
return typeof val === 'string'; //preferred way to achieve this thing.
};
我不确定你是如何传递 JSON 的,但你需要先解析它...
假设我们将 de JSON 存储在一个变量中
var things = '{"thing":{"important":"a giant banana"} }'
然后我们需要在 HTML
中解析它
<p ng-show='typeof JSON.parse(things).thing.important ==="string"'>Hey guy im a string</p>
我有一个 JSON 文件,其中包含一个对象数组或一个字符串。我正在尝试根据那里的 JSON 类型显示它。
JSON 文件,
场景 1 JSON
"thing":{"important":"a giant banana"}
情景 2 JSON
"thing":{"important":[
{"one":"one banana"},
{"two":"two banana"}
]}
所以我尝试了,
<p ng-show='angular.isString(thing.important)'>Hey guy im a string</p>
和
<p ng-show="typeof thing.important === 'string'">Hey guy im a string</p>
但当然两者都不起作用,我如何根据 JSON(数组或字符串)
中的类型在 ng-show 中放置一些内容来显示您无法直接在 HTML 上访问 Javascript 方法,因为 $scope
只对视图公开,无论您在 {{}}
中尝试什么,都可以在 $scope
控制器并对其进行评估。
如果您想直接在 Javascript 视图中访问可用的 object/methods,那么您应该使用将这些对象放入 $scope
属性,然后将其放入可从 UI.
HTML
<p ng-show='angular.isString(thing.important)'>Hey guy im a string</p>
控制器
$scope.angular = angular; //but this is not preferred way to do it.
另一种方法是您可以在 ng-show
& 中调用该方法,它将与本机 method/object.
HTML
<p ng-show="checkStringType(thing.important)">Hey guy im a string</p>
控制器
$scope.checkStringType = function(val){
return typeof val === 'string'; //preferred way to achieve this thing.
};
我不确定你是如何传递 JSON 的,但你需要先解析它...
假设我们将 de JSON 存储在一个变量中
var things = '{"thing":{"important":"a giant banana"} }'
然后我们需要在 HTML
中解析它<p ng-show='typeof JSON.parse(things).thing.important ==="string"'>Hey guy im a string</p>